This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
The following commit(s) were added to refs/heads/master by this push:
new d12fb20262 FELIX-6574 : Use RC1 of OSGi servlet whiteboard api
d12fb20262 is described below
commit d12fb20262c5b369474d73d0d384cd757399bfe2
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Wed Nov 9 08:02:35 2022 +0100
FELIX-6574 : Use RC1 of OSGi servlet whiteboard api
---
http/base/pom.xml | 6 +
.../servlet/context/ServletContextHelper.java | 332 ------------
.../osgi/service/servlet/context/package-info.java | 44 --
.../servlet/runtime/HttpServiceRuntime.java | 56 ---
.../runtime/HttpServiceRuntimeConstants.java | 51 --
.../servlet/runtime/dto/BaseServletDTO.java | 76 ---
.../service/servlet/runtime/dto/DTOConstants.java | 108 ----
.../service/servlet/runtime/dto/ErrorPageDTO.java | 40 --
.../servlet/runtime/dto/FailedErrorPageDTO.java | 47 --
.../servlet/runtime/dto/FailedFilterDTO.java | 46 --
.../servlet/runtime/dto/FailedListenerDTO.java | 46 --
.../servlet/runtime/dto/FailedPreprocessorDTO.java | 39 --
.../servlet/runtime/dto/FailedResourceDTO.java | 46 --
.../runtime/dto/FailedServletContextDTO.java | 53 --
.../servlet/runtime/dto/FailedServletDTO.java | 48 --
.../service/servlet/runtime/dto/FilterDTO.java | 102 ----
.../service/servlet/runtime/dto/ListenerDTO.java | 51 --
.../servlet/runtime/dto/PreprocessorDTO.java | 53 --
.../servlet/runtime/dto/RequestInfoDTO.java | 62 ---
.../service/servlet/runtime/dto/ResourceDTO.java | 59 ---
.../service/servlet/runtime/dto/RuntimeDTO.java | 105 ----
.../servlet/runtime/dto/ServletContextDTO.java | 134 -----
.../service/servlet/runtime/dto/ServletDTO.java | 75 ---
.../service/servlet/runtime/dto/package-info.java | 44 --
.../osgi/service/servlet/runtime/package-info.java | 44 --
.../whiteboard/HttpWhiteboardConstants.java | 554 ---------------------
.../service/servlet/whiteboard/Preprocessor.java | 57 ---
.../service/servlet/whiteboard/package-info.java | 42 --
http/jetty/pom.xml | 6 +
29 files changed, 12 insertions(+), 2414 deletions(-)
diff --git a/http/base/pom.xml b/http/base/pom.xml
index d99ca5de71..12ccefb8d7 100644
--- a/http/base/pom.xml
+++ b/http/base/pom.xml
@@ -61,6 +61,12 @@
<version>8.0.0</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.servlet</artifactId>
+ <version>2.0.0-RC1</version>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.http</artifactId>
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/context/ServletContextHelper.java
b/http/base/src/main/java/org/osgi/service/servlet/context/ServletContextHelper.java
deleted file mode 100644
index 179302dac3..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/context/ServletContextHelper.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.context;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.osgi.annotation.versioning.ConsumerType;
-import org.osgi.framework.Bundle;
-import org.osgi.service.servlet.whiteboard.HttpWhiteboardConstants;
-
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
-/**
- * Helper service for a servlet context used by a Servlet Whiteboard
implementation
- * to serve HTTP requests.
- * <p>
- * This service defines methods that the Servlet Whiteboard implementation may
call
- * to get information for a request when dealing with whiteboard services.
- * <p>
- * Each {@code ServletContextHelper} is registered with a
- * {@link HttpWhiteboardConstants#HTTP_WHITEBOARD_CONTEXT_NAME
- * "osgi.http.whiteboard.context.name"} service property containing a name to
- * reference by servlets, servlet filters, resources, and listeners. If there
is
- * more than one {@code ServletContextHelper} registered with the same context
- * name, the one that is first in the
- * {@link org.osgi.framework.ServiceReference#compareTo(Object) ranking order}
- * is active, the others are inactive.
- * <p>
- * A context is registered with the
- * {@link HttpWhiteboardConstants#HTTP_WHITEBOARD_CONTEXT_PATH
- * "osgi.http.whiteboard.context.path"} service property to define a path under
- * which all services registered with this context are reachable. If there is
- * more than one {@code ServletContextHelper} registered with the same path,
- * each duplicate context path is searched in
- * {@link org.osgi.framework.ServiceReference#compareTo(Object) ranking order}
- * until a matching servlet or resource is found.
- * <p>
- * Servlets, servlet filters, resources, and listeners services may be
- * associated with a {@code ServletContextHelper} service with the
- * {@link HttpWhiteboardConstants#HTTP_WHITEBOARD_CONTEXT_SELECT
- * "osgi.http.whiteboard.context.select"} service property. If the referenced
- * {@code ServletContextHelper} service does not exist or is currently not
- * active, the whiteboard services for that {@code ServletContextHelper} are
not
- * active either.
- * <p>
- * If no {@code ServletContextHelper} service is associated, that is no
- * {@link HttpWhiteboardConstants#HTTP_WHITEBOARD_CONTEXT_SELECT
- * "osgi.http.whiteboard.context.select"} service property is configured for a
- * whiteboard service, a default {@code ServletContextHelper} is used.
- * <p>
- * Those whiteboard services that are associated with the same
- * {@code ServletContextHelper} object will share the same
- * {@code ServletContext} object.
- * <p>
- * The behavior of the methods on the default {@code ServletContextHelper} is
- * defined as follows:
- * <ul>
- * <li>{@link #getMimeType(String) getMimeType} - Always returns
- * {@code null}.</li>
- * <li>{@link #handleSecurity(HttpServletRequest, HttpServletResponse)
- * handleSecurity} - Always returns {@code true}.</li>
- * <li>{@link #getResource(String) getResource} - Assumes the named resource is
- * in the bundle of the whiteboard service, addressed from the root. This
method
- * calls the whiteboard service bundle's {@code Bundle.getEntry} method, and
- * returns the appropriate URL to access the resource. On a Java runtime
- * environment that supports permissions, the Servlet Whiteboard implementation
- * needs to be granted
- * {@code org.osgi.framework.AdminPermission[*,RESOURCE]}.</li>
- * <li>{@link #getResourcePaths(String) getResourcePaths} - Assumes that the
- * resources are in the bundle of the whiteboard service. This method calls
- * {@code Bundle.findEntries} method, and returns the found entries. On a Java
- * runtime environment that supports permissions, the Servlet Whiteboard
- * implementation needs to be granted
- * {@code org.osgi.framework.AdminPermission[*,RESOURCE]}.</li>
- * <li>{@link #getRealPath(String) getRealPath} - Always returns
- * {@code null}.</li>
- * </ul>
- *
- * @ThreadSafe
- * @author $Id: b2bedf61b2e95acd80591872f0b0cc0777b2cb77 $
- * @see HttpWhiteboardConstants#HTTP_WHITEBOARD_CONTEXT_NAME
- * @see HttpWhiteboardConstants#HTTP_WHITEBOARD_CONTEXT_PATH
- */
-@ConsumerType
-public abstract class ServletContextHelper {
- /**
- * {@code HttpServletRequest} attribute specifying the name of the
- * authenticated user. The value of the attribute can be retrieved by
- * {@code HttpServletRequest.getRemoteUser}.
- */
- public static final String REMOTE_USER =
"org.osgi.service.http.authentication.remote.user";
- /**
- * {@code HttpServletRequest} attribute specifying the scheme used in
- * authentication. The value of the attribute can be retrieved by
- * {@code HttpServletRequest.getAuthType}.
- */
- public static final String AUTHENTICATION_TYPE =
"org.osgi.service.http.authentication.type";
- /**
- * {@code HttpServletRequest} attribute specifying the {@code
Authorization}
- * object obtained from the {@code org.osgi.service.useradmin.UserAdmin}
- * service. The value of the attribute can be retrieved by
- * {@code
HttpServletRequest.getAttribute(ServletContextHelper.AUTHORIZATION)}
- * .
- */
- public static final String AUTHORIZATION =
"org.osgi.service.useradmin.authorization";
-
- /** Bundle associated with this context. */
- private final Bundle bundle;
-
- /**
- * Construct a new context helper.
- *
- * <p>
- * If needed, the subclass will have to handle the association with a
- * specific bundle.
- */
- public ServletContextHelper() {
- this(null);
- }
-
- /**
- * Construct a new context helper associated with the specified bundle.
- *
- * @param bundle The bundle to be associated with this context helper.
- */
- public ServletContextHelper(final Bundle bundle) {
- this.bundle = bundle;
- }
-
- /**
- * Handles security for the specified request.
- * <p>
- * The Servlet Whiteboard implementation calls this method prior to
- * servicing the specified request. This method controls whether the
request
- * is processed in the normal manner or an error is returned.
- * <p>
- * If the request requires authentication and the {@code Authorization}
- * header in the request is missing or not acceptable, then this method
- * should set the {@code WWW-Authenticate} header in the response
object,
- * set the status in the response object to Unauthorized(401) and return
- * {@code false}. See also <a
href="http://www.ietf.org/rfc/rfc2617.txt">RFC
- * 2617: HTTP Authentication: Basic and Digest Access
Authentication</a>.
- * <p>
- * If the request requires a secure connection and the {@code getScheme}
- * method in the request does not return 'https' or some other
acceptable
- * secure protocol, then this method should set the status in the
response
- * object to Forbidden(403) and return {@code false}.
- * <p>
- * When this method returns {@code false}, the Servlet Whiteboard
- * implementation will send the response back to the client, thereby
- * completing the request. When this method returns {@code true}, the
- * Servlet Whiteboard implementation will proceed with servicing the
- * request.
- * <p>
- * If the specified request has been authenticated, this method must
set the
- * {@link #AUTHENTICATION_TYPE} request attribute to the type of
- * authentication used, and the {@link #REMOTE_USER} request attribute
to
- * the remote user (request attributes are set using the
- * {@code setAttribute} method on the request). If this method does not
- * perform any authentication, it must not set these attributes.
- * <p>
- * If the authenticated user is also authorized to access certain
resources,
- * this method must set the {@link #AUTHORIZATION} request attribute to
the
- * {@code Authorization} object obtained from the
- * {@code org.osgi.service.useradmin.UserAdmin} service.
- * <p>
- * The servlet responsible for servicing the specified request
determines
- * the authentication type and remote user by calling the
- * {@code getAuthType} and {@code getRemoteUser} methods, respectively,
on
- * the request.
- * <p>
- * If there is the need to clean up resources at the end of the
request, the
- * method {@link #finishSecurity(HttpServletRequest,
HttpServletResponse)}
- * can be implemented. That method is only called if this method returns
- * {@code true}.
- *
- * @param request The HTTP request.
- * @param response The HTTP response.
- * @return {@code true} if the request should be serviced, {@code
false} if
- * the request should not be serviced and Servlet Whiteboard
- * implementation will send the response back to the client.
- * @throws java.io.IOException May be thrown by this method. If this
occurs,
- * the Servlet Whiteboard implementation will terminate the
- * request and close the socket.
- * @see #finishSecurity(HttpServletRequest, HttpServletResponse)
- */
- public boolean handleSecurity(final HttpServletRequest request,
- final HttpServletResponse response)
- throws IOException {
- return true;
- }
-
- /**
- * Finishes the security context for the specified request.
- * <p>
- * Implementations of this service can implement this method to clean up
- * resources which have been setup in
- * {@link #handleSecurity(HttpServletRequest, HttpServletResponse)}.
- * <p>
- * This method is only called if
- * {@link #handleSecurity(HttpServletRequest, HttpServletResponse)}
returned
- * {@code true} for the specified request. This method is called once
the
- * pipeline finishes processing or if an exception is thrown from
within the
- * pipeline execution.
- * <p>
- * The default implementation of this method does nothing.
- *
- * @param request The HTTP request.
- * @param response The HTTP response.
- * @see #handleSecurity(HttpServletRequest, HttpServletResponse)
- */
- public void finishSecurity(final HttpServletRequest request,
- final HttpServletResponse response) {
- // do nothing
- }
-
- /**
- * Maps a resource name to a URL.
- * <p>
- * Called by the Servlet Whiteboard implementation to map the specified
- * resource name to a URL. For servlets, the Servlet Whiteboard
implementation
- * will call this method to support the {@code ServletContext} methods
- * {@code getResource} and {@code getResourceAsStream}. For resources,
the
- * Servlet Whiteboard implementation will call this method to locate
the named
- * resource.
- * <p>
- * The context can control from where resources come. For example, the
- * resource can be mapped to a file in the bundle's persistent storage
area
- * via {@code BundleContext.getDataFile(name).toURI().toURL()} or to a
- * resource in the context's bundle via {@code
getClass().getResource(name)}
- *
- * @param name The name of the requested resource.
- * @return A URL that a Servlet Whiteboard implementation can use to
read the
- * resource or {@code null} if the resource does not exist.
- */
- public URL getResource(String name) {
- if ((name != null) && (bundle != null)) {
- if (name.startsWith("/")) {
- name = name.substring(1);
- }
-
- return bundle.getEntry(name);
- }
- return null;
- }
-
- /**
- * Maps a name to a MIME type.
- *
- * <p>
- * Called by the Servlet Whiteboard implementation to determine the
MIME type
- * for the specified name. For whiteboard services, the Servlet
Whiteboard
- * implementation will call this method to support the
- * {@code ServletContext} method {@code getMimeType}. For resource
servlets,
- * the Servlet Whiteboard implementation will call this method to
determine the
- * MIME type for the {@code Content-Type} header in the response.
- *
- * @param name The name for which to determine the MIME type.
- * @return The MIME type (e.g. text/html) of the specified name or
- * {@code null} to indicate that the Servlet Whiteboard
implementation
- * should determine the MIME type itself.
- */
- public String getMimeType(final String name) {
- return null;
- }
-
- /**
- * Returns a directory-like listing of all the paths to resources
within the
- * web application whose longest sub-path matches the supplied path
- * argument.
- *
- * <p>
- * Called by the Servlet Whiteboard implementation to support the
- * {@code ServletContext} method {@code getResourcePaths} for whiteboard
- * services.
- *
- * @param path The partial path used to match the resources, which must
- * start with a /.
- * @return A Set containing the directory listing, or {@code null} if
there
- * are no resources in the web application whose path begins
with
- * the supplied path.
- */
- public Set<String> getResourcePaths(final String path) {
- if ((path != null) && (bundle != null)) {
- final Enumeration<URL> e = bundle.findEntries(path,
null, false);
- if (e != null) {
- final Set<String> result = new
LinkedHashSet<String>();
- while (e.hasMoreElements()) {
- result.add(e.nextElement().getPath());
- }
- return result;
- }
- }
- return null;
- }
-
- /**
- * Gets the real path corresponding to the given virtual path.
- * <p>
- * Called by the Servlet Whiteboard implementation to support the
- * {@code ServletContext} method {@code getRealPath} for whiteboard
- * services.
- *
- * @param path The virtual path to be translated to a real path.
- * @return The real path, or {@code null} if the translation cannot be
- * performed.
- */
- public String getRealPath(final String path) {
- return null;
- }
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/context/package-info.java
b/http/base/src/main/java/org/osgi/service/servlet/context/package-info.java
deleted file mode 100644
index cb5f7d52c3..0000000000
--- a/http/base/src/main/java/org/osgi/service/servlet/context/package-info.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-/**
- * Http Context Package Version 2.0.
- * <p>
- * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest. This package has two types
of
- * users: the consumers that use the API in this package and the providers that
- * implement the API in this package.
- * <p>
- * Example import for consumers using the API in this package:
- * <p>
- * {@code Import-Package: org.osgi.service.servlet.context;
version="[2.0,3.0)"}
- * <p>
- * Example import for providers implementing the API in this package:
- * <p>
- * {@code Import-Package: org.osgi.service.servlet.context;
version="[2.0,2.1)"}
- *
- * @author $Id: c0f95eca0af798efe3c7bf76e2576d2fc17cdb55 $
- */
-
-@Version(HTTP_WHITEBOARD_SPECIFICATION_VERSION + ".0")
-package org.osgi.service.servlet.context;
-
-import static
org.osgi.service.servlet.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SPECIFICATION_VERSION;
-
-import org.osgi.annotation.versioning.Version;
-
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/HttpServiceRuntime.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/HttpServiceRuntime.java
deleted file mode 100644
index 56660fc587..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/HttpServiceRuntime.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime;
-
-import org.osgi.annotation.versioning.ProviderType;
-import org.osgi.service.servlet.runtime.dto.RequestInfoDTO;
-import org.osgi.service.servlet.runtime.dto.RuntimeDTO;
-
-/**
- * The HttpServiceRuntime service represents the runtime information of a
- * Servlet Whiteboard implementation.
- * <p>
- * It provides access to DTOs representing the current state of the service.
- * <p>
- * The HttpServiceRuntime service must be registered with the
- * {@link HttpServiceRuntimeConstants#HTTP_SERVICE_ENDPOINT} service property.
- *
- * @ThreadSafe
- * @author $Id: c36db83dfe9f7841a18cd9e98c1bdb30a04aaeb1 $
- */
-@ProviderType
-public interface HttpServiceRuntime {
-
- /**
- * Return the runtime DTO representing the current state.
- *
- * @return The runtime DTO.
- */
- public RuntimeDTO getRuntimeDTO();
-
- /**
- * Return a request info DTO containing the services involved with
- * processing a request for the specified path.
- *
- * @param path The request path, relative to the root of the Servlet
Whiteboard
- * implementation.
- * @return The request info DTO for the specified path.
- */
- public RequestInfoDTO calculateRequestInfoDTO(String path);
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/HttpServiceRuntimeConstants.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/HttpServiceRuntimeConstants.java
deleted file mode 100644
index 4d4c497ee0..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/HttpServiceRuntimeConstants.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime;
-
-/**
- * Defines standard names for Http Runtime Service constants.
- *
- * @author $Id: 88307ef555f5ca25bee6dc678ca40a7d6c5ee254 $
- */
-public final class HttpServiceRuntimeConstants {
- private HttpServiceRuntimeConstants() {
- // non-instantiable
- }
-
- /**
- * Http Runtime Service service property specifying the endpoints upon
which
- * the Servlet Whiteboard implementation is listening.
- * <p>
- * An endpoint value is a URL or a relative path, to which the Servlet
- * Whiteboard implementation is listening. For example,
- * {@code http://192.168.1.10:8080/} or {@code /myapp/}. A relative
path may
- * be used if the scheme and authority parts of the URL are not known,
e.g.
- * in a bridged Servlet Whiteboard implementation. If the Servlet
Whiteboard
- * implementation is serving the root context and neither scheme nor
- * authority is known, the value of the property is "/". Both, a URL
and a
- * relative path, must end with a slash.
- * <p>
- * An Servlet Whiteboard implementation can be listening on multiple
- * endpoints.
- * <p>
- * The value of this service property must be of type {@code String},
- * {@code String[]}, or {@code Collection<String>}.
- */
- public static final String HTTP_SERVICE_ENDPOINT =
"osgi.http.endpoint";
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/BaseServletDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/BaseServletDTO.java
deleted file mode 100644
index 47eb10fda7..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/BaseServletDTO.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-import java.util.Map;
-
-import org.osgi.dto.DTO;
-
-/**
- * Represents common information about a {@code jakarta.servlet.Servlet}
service.
- *
- * @NotThreadSafe
- * @author $Id: 72b16d073d8bba0a152c934949f613716a42f331 $
- */
-public abstract class BaseServletDTO extends DTO {
- /**
- * The name of the servlet. This value is never {@code null}, unless
this
- * object represents a {@code FailedServletDTO} or a
- * {@code FailedErrorPageDTO} where the value might be {@code null}.
- */
- public String name;
-
- /**
- * The information string from the servlet.
- * <p>
- * This is the value returned by the {@code Servlet.getServletInfo()}
- * method. For a {@code FailedServletDTO} or a {@code
FailedErrorPageDTO}
- * this is always {@code null}.
- */
- public String servletInfo;
-
- /**
- * Specifies whether the servlet supports asynchronous processing.
- */
- public boolean asyncSupported;
-
- /**
- * The servlet initialization parameters as provided during
registration of
- * the servlet. Additional parameters like the Http Service Runtime
- * attributes are not included. If the service has no initialization
- * parameters, the map is empty.
- */
- public Map<String, String> initParams;
-
- /**
- * The service id of the servlet context for the servlet represented by
this
- * DTO.
- */
- public long servletContextId;
-
- /**
- * Service property identifying the servlet. In the case of a servlet
- * registered in the service registry and picked up by a Servlet
Whiteboard
- * Implementation, this value is not negative and corresponds to the
service
- * id in the registry. If the servlet has not been registered in the
service
- * registry, the value is negative and a unique negative value is
generated
- * by the Http Service Runtime in this case.
- */
- public long serviceId;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/DTOConstants.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/DTOConstants.java
deleted file mode 100644
index 471f6b9562..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/DTOConstants.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Defines standard constants for the DTOs.
- */
-public final class DTOConstants {
- private DTOConstants() {
- // non-instantiable
- }
-
- /**
- * Failure reason is unknown.
- */
- public static final int FAILURE_REASON_UNKNOWN
= 0;
-
- /**
- * No matching
- * {@code org.osgi.service.servlet.context.ServletContextHelper}.
- **/
- public static final int FAILURE_REASON_NO_SERVLET_CONTEXT_MATCHING
= 1;
-
- /**
- * Matching {@code
org.osgi.service.servlet.context.ServletContextHelper},
- * but the context is not used due to a problem with the context.
- */
- public static final int FAILURE_REASON_SERVLET_CONTEXT_FAILURE
= 2;
-
- /**
- * Service is shadowed by another service.
- * <p>
- * For example, another service with the same service properties but
having
- * a higher service ranking. See
- * {@link org.osgi.framework.ServiceReference#compareTo(Object)}.
- */
- public static final int FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE
= 3;
-
- /**
- * An exception occurred during initializing of the service.
- * <p>
- * This reason can only happen for servlets and servlet filters.
- */
- public static final int FAILURE_REASON_EXCEPTION_ON_INIT
= 4;
-
- /**
- * The service is registered in the service registry but getting the
service
- * fails as it returns {@code null}.
- */
- public static final int FAILURE_REASON_SERVICE_NOT_GETTABLE
= 5;
-
- /**
- * The service is registered in the service registry but the service
- * properties are invalid.
- */
- public static final int FAILURE_REASON_VALIDATION_FAILED
= 6;
-
- /**
- * The service is not registered as a prototype scoped service and is
- * already in use with a servlet context and therefore can't be used
with
- * another servlet context.
- */
- public static final int FAILURE_REASON_SERVICE_IN_USE
= 7;
-
- /**
- * The servlet is not registered as it is configured to have multipart
- * enabled, but the bundle containing the servlet has no write
permission to
- * the provided location for the uploaded files.
- */
- public static final int FAILURE_REASON_SERVLET_WRITE_TO_LOCATION_DENIED
= 8;
-
- /**
- * The servlet is not registered as it is configured to have multipart
- * enabled, but the whiteboard implementation has no write permission
to the
- * default location for the uploaded files.
- */
- public static final int
FAILURE_REASON_WHITEBOARD_WRITE_TO_DEFAULT_DENIED = 9;
-
- /**
- * The servlet is not registered as it is configured to have multipart
- * enabled, but the bundle containing the servlet has no read
permission to
- * the default location for the uploaded files.
- */
- public static final int FAILURE_REASON_SERVLET_READ_FROM_DEFAULT_DENIED
= 10;
-
- /**
- * The servlet is not registered as it is configured to have multipart
- * enabled, but the whiteboard implementation has no write permission
to the
- * provided location for the uploaded files.
- */
- public static final int
FAILURE_REASON_WHITEBOARD_WRITE_TO_LOCATION_DENIED = 11;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ErrorPageDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ErrorPageDTO.java
deleted file mode 100644
index 122aa48e45..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ErrorPageDTO.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a {@code jakarta.servlet.Servlet} for handling errors and
currently
- * being used by a servlet context.
- *
- * @NotThreadSafe
- * @author $Id: 4808832fce1d344fd58f1af913cb1a85aa374487 $
- */
-public class ErrorPageDTO extends BaseServletDTO {
- /**
- * The exceptions the error page is used for. This array might be
- * empty.
- */
- public String[] exceptions;
-
- /**
- * The error codes the error page is used for. This array might be
- * empty.
- */
- public long[] errorCodes;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedErrorPageDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedErrorPageDTO.java
deleted file mode 100644
index 65020ae801..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedErrorPageDTO.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a {@code jakarta.servlet.Servlet} service registered as an error
- * page but currently not being used by a servlet context due to a problem.
- * <p>
- * As the servlet represented by this DTO is not used due to a failure, the
- * field {@link FailedErrorPageDTO#servletContextId} always returns {@code 0}
- * and does not point to an existing
- * {@code org.osgi.service.servlet.context.ServletContextHelper}.
- *
- * @NotThreadSafe
- * @author $Id: a5e20a56ba5bc30ba593c3eaf973c6ce4f1c0c52 $
- */
-public class FailedErrorPageDTO extends ErrorPageDTO {
-
- /**
- * The reason why the servlet represented by this DTO is not used.
- *
- * @see DTOConstants#FAILURE_REASON_UNKNOWN
- * @see DTOConstants#FAILURE_REASON_EXCEPTION_ON_INIT
- * @see DTOConstants#FAILURE_REASON_NO_SERVLET_CONTEXT_MATCHING
- * @see DTOConstants#FAILURE_REASON_SERVICE_NOT_GETTABLE
- * @see DTOConstants#FAILURE_REASON_SERVLET_CONTEXT_FAILURE
- * @see DTOConstants#FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE
- */
- public int failureReason;
-
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedFilterDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedFilterDTO.java
deleted file mode 100644
index f4ae82172f..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedFilterDTO.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a servlet {@code Filter} service which is currently not being
used
- * by a servlet context due to a problem.
- * <p>
- * As the service represented by this DTO is not used due to a failure, the
- * field {@link FailedFilterDTO#servletContextId} always returns {@code 0} and
- * does not point to an existing servlet context.
- *
- * @NotThreadSafe
- * @author $Id: 556acb51c1f053e6a61cb28e8317a7b9309c055a $
- */
-public class FailedFilterDTO extends FilterDTO {
-
- /**
- * The reason why the servlet filter represented by this DTO is not
used.
- *
- * @see DTOConstants#FAILURE_REASON_UNKNOWN
- * @see DTOConstants#FAILURE_REASON_EXCEPTION_ON_INIT
- * @see DTOConstants#FAILURE_REASON_NO_SERVLET_CONTEXT_MATCHING
- * @see DTOConstants#FAILURE_REASON_SERVICE_NOT_GETTABLE
- * @see DTOConstants#FAILURE_REASON_SERVLET_CONTEXT_FAILURE
- * @see DTOConstants#FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE
- */
- public int failureReason;
-
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedListenerDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedListenerDTO.java
deleted file mode 100644
index 6e840a8b5a..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedListenerDTO.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a listener service which is currently not being used by a servlet
- * context due to a problem.
- * <p>
- * As the listener represented by this DTO is not used due to a failure, the
- * field {@link FailedErrorPageDTO#servletContextId} always returns {@code 0}
- * and does not point to an existing servlet context.
- *
- * @NotThreadSafe
- * @author $Id: 5a73d733ebf74d656f037d039ecc9ad4716b7d46 $
- */
-public class FailedListenerDTO extends ListenerDTO {
-
- /**
- * The reason why the listener represented by this DTO is not used.
- *
- * @see DTOConstants#FAILURE_REASON_UNKNOWN
- * @see DTOConstants#FAILURE_REASON_EXCEPTION_ON_INIT
- * @see DTOConstants#FAILURE_REASON_NO_SERVLET_CONTEXT_MATCHING
- * @see DTOConstants#FAILURE_REASON_SERVICE_NOT_GETTABLE
- * @see DTOConstants#FAILURE_REASON_SERVLET_CONTEXT_FAILURE
- * @see DTOConstants#FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE
- */
- public int failureReason;
-
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedPreprocessorDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedPreprocessorDTO.java
deleted file mode 100644
index 221825179d..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedPreprocessorDTO.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a preprocessor service which is currently not being used due to a
- * problem.
- *
- * @NotThreadSafe
- * @author $Id: 5c725e17192d4f85fa9c5f4a5c088d1a5be3db5a $
- */
-public class FailedPreprocessorDTO extends PreprocessorDTO {
-
- /**
- * The reason why the preprocessor represented by this DTO is not used.
- *
- * @see DTOConstants#FAILURE_REASON_UNKNOWN
- * @see DTOConstants#FAILURE_REASON_EXCEPTION_ON_INIT
- * @see DTOConstants#FAILURE_REASON_SERVICE_NOT_GETTABLE
- */
- public int failureReason;
-
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedResourceDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedResourceDTO.java
deleted file mode 100644
index fb58ed2054..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedResourceDTO.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a resource definition which is currently not being used by a
- * servlet context due to a problem.
- * <p>
- * As the resource represented by this DTO is not used due to a failure, the
- * field {@link FailedResourceDTO#servletContextId} always returns {@code 0}
and
- * does not point to an existing servlet context.
- *
- * @NotThreadSafe
- * @author $Id: 64707b03d8522f5d31f222c6829252f6a2821417 $
- */
-public class FailedResourceDTO extends ResourceDTO {
-
- /**
- * The reason why the resource represented by this DTO is not used.
- *
- * @see DTOConstants#FAILURE_REASON_UNKNOWN
- * @see DTOConstants#FAILURE_REASON_EXCEPTION_ON_INIT
- * @see DTOConstants#FAILURE_REASON_NO_SERVLET_CONTEXT_MATCHING
- * @see DTOConstants#FAILURE_REASON_SERVICE_NOT_GETTABLE
- * @see DTOConstants#FAILURE_REASON_SERVLET_CONTEXT_FAILURE
- * @see DTOConstants#FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE
- */
- public int failureReason;
-
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedServletContextDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedServletContextDTO.java
deleted file mode 100644
index d1624a99a5..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedServletContextDTO.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a servlet context that is currently not used due to some problem.
- *
- * The following fields return an empty array for a
- * {@code FailedServletContextDTO}:
- * <ul>
- * <li>{@link ServletContextDTO#servletDTOs}</li>
- * <li>{@link ServletContextDTO#resourceDTOs}</li>
- * <li>{@link ServletContextDTO#filterDTOs}</li>
- * <li>{@link ServletContextDTO#errorPageDTOs}</li>
- * <li>{@link ServletContextDTO#listenerDTOs}</li>
- * </ul>
- * <p>
- * The method {@link ServletContextDTO#attributes} returns an empty map for a
- * {@code FailedServletContextDTO}.
- *
- * @NotThreadSafe
- * @author $Id: 501844f35a0a350c765882eec19e283c93290002 $
- */
-public class FailedServletContextDTO extends ServletContextDTO {
-
- /**
- * The reason why the servlet context represented by this DTO is not
used.
- *
- * @see DTOConstants#FAILURE_REASON_UNKNOWN
- * @see DTOConstants#FAILURE_REASON_EXCEPTION_ON_INIT
- * @see DTOConstants#FAILURE_REASON_NO_SERVLET_CONTEXT_MATCHING
- * @see DTOConstants#FAILURE_REASON_SERVICE_NOT_GETTABLE
- * @see DTOConstants#FAILURE_REASON_SERVLET_CONTEXT_FAILURE
- * @see DTOConstants#FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE
- */
- public int failureReason;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedServletDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedServletDTO.java
deleted file mode 100644
index 7866346f6b..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FailedServletDTO.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a {@code jakarta.servlet.Servlet} service which is currently not
- * being used by a servlet context due to a problem.
- * <p>
- * As the servlet represented by this DTO is not used due to a failure, the
- * field {@link FailedServletDTO#servletContextId} always returns {@code 0} and
- * does not point to an existing servlet context.
- *
- * @NotThreadSafe
- * @author $Id: 3a9b086cab258aefb940d5acb48ed9ea61f551d3 $
- */
-public class FailedServletDTO extends ServletDTO {
-
- /**
- * The reason why the servlet represented by this DTO is not used.
- *
- * @see DTOConstants#FAILURE_REASON_UNKNOWN
- * @see DTOConstants#FAILURE_REASON_EXCEPTION_ON_INIT
- * @see DTOConstants#FAILURE_REASON_NO_SERVLET_CONTEXT_MATCHING
- * @see DTOConstants#FAILURE_REASON_SERVICE_NOT_GETTABLE
- * @see DTOConstants#FAILURE_REASON_SERVLET_CONTEXT_FAILURE
- * @see DTOConstants#FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE
- * @see DTOConstants#FAILURE_REASON_SERVLET_WRITE_TO_LOCATION_DENIED
- * @see DTOConstants#FAILURE_REASON_WHITEBOARD_WRITE_TO_DEFAULT_DENIED
- * @see DTOConstants#FAILURE_REASON_SERVLET_READ_FROM_DEFAULT_DENIED
- */
- public int failureReason;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FilterDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FilterDTO.java
deleted file mode 100644
index 284ae9459c..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/FilterDTO.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-import java.util.Map;
-
-import org.osgi.dto.DTO;
-
-/**
- * Represents a servlet {@code jakarta.servlet.Filter} service currently being
- * used for by a servlet context.
- *
- * @NotThreadSafe
- * @author $Id: a77d5c579edd2de46fadb7722fa2edd528984e3f $
- */
-public class FilterDTO extends DTO {
- /**
- * The name of the servlet filter. This field is never {@code null}.
- */
- public String name;
-
- /**
- * The request mappings for the servlet filter.
- *
- * <p>
- * The specified patterns are used to determine whether a request is
mapped
- * to the servlet filter. This array might be empty.
- */
- public String[] patterns;
-
- /**
- * The servlet names for the servlet filter.
- *
- * <p>
- * The specified names are used to determine the servlets whose
requests are
- * mapped to the servlet filter. This array might be empty.
- */
- public String[] servletNames;
-
- /**
- * The request mappings for the servlet filter.
- *
- * <p>
- * The specified regular expressions are used to determine whether a
request
- * is mapped to the servlet filter. This array might be empty.
- */
- public String[] regexs;
-
- /**
- * Specifies whether the servlet filter supports asynchronous
processing.
- */
- public boolean asyncSupported;
-
- /**
- * The dispatcher associations for the servlet filter.
- *
- * <p>
- * The specified names are used to determine in what occasions the
servlet
- * filter is called. This array is never {@code null}.
- */
- public String[] dispatcher;
-
- /**
- * The servlet filter initialization parameters as provided during
- * registration of the servlet filter. Additional parameters like the
Http
- * Service Runtime attributes are not included. If the servlet filter
has
- * not initialization parameters, this map is empty.
- */
- public Map<String, String> initParams;
-
- /**
- * Service property identifying the servlet filter. In the case of a
servlet
- * filter registered in the service registry and picked up by a Servlet
- * Whiteboard Implementation, this value is not negative and
corresponds to
- * the service id in the registry. If the servlet filter has not been
- * registered in the service registry, the value is negative and a
unique
- * negative value is generated by the Http Service Runtime in this case.
- */
- public long serviceId;
-
- /**
- * The service id of the servlet context for the servlet filter
represented
- * by this DTO.
- */
- public long servletContextId;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ListenerDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ListenerDTO.java
deleted file mode 100644
index 77a11a3df0..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ListenerDTO.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-import org.osgi.dto.DTO;
-
-/**
- * Represents a listener currently being used by a servlet context.
- *
- * @NotThreadSafe
- * @author $Id: d806ecaf21b6be83a7cd50ae19b897072565e5a5 $
- */
-public class ListenerDTO extends DTO {
-
- /**
- * The fully qualified type names the listener. This array is never
empty.
- */
- public String[] types;
-
- /**
- * Service property identifying the listener. In the case of a Listener
- * registered in the service registry and picked up by a Servlet
Whiteboard
- * Implementation, this value is not negative and corresponds to the
service
- * id in the registry. If the listener has not been registered in the
- * service registry, the value is negative and a unique negative value
is
- * generated by the Http Service Runtime in this case.
- */
- public long serviceId;
-
- /**
- * The service id of the servlet context for the listener represented by
- * this DTO.
- */
- public long servletContextId;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/PreprocessorDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/PreprocessorDTO.java
deleted file mode 100644
index 1bd8a68fdf..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/PreprocessorDTO.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-import java.util.Map;
-
-import org.osgi.dto.DTO;
-
-/**
- * Represents a preprocessor
- * {@code org.osgi.service.servlet.whiteboard.Preprocessor} service currently
- * being used during request processing.
- *
- * @NotThreadSafe
- * @author $Id: 6e3a69f6a7618ebf1fcb25dfe2c0dd064a70be3c $
- */
-public class PreprocessorDTO extends DTO {
-
- /**
- * The preprocessor initialization parameters as provided during
- * registration of the preprocessor. Additional parameters like the Http
- * Service Runtime attributes are not included. If the preprocessor has
not
- * initialization parameters, this map is empty.
- */
- public Map<String, String> initParams;
-
- /**
- * Service property identifying the preprocessor. In the case of a
- * preprocessor registered in the service registry and picked up by a
- * Servlet Whiteboard Implementation, this value is not negative and
- * corresponds to the service id in the registry. If the preprocessor
has
- * not been registered in the service registry, the value is negative
and a
- * unique negative value is generated by the Http Service Runtime in
this
- * case.
- */
- public long serviceId;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/RequestInfoDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/RequestInfoDTO.java
deleted file mode 100644
index 9bccb3d240..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/RequestInfoDTO.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-import org.osgi.dto.DTO;
-
-/**
- * Represents the services used to process a specific request.
- *
- * @NotThreadSafe
- * @author $Id: 75e500211a981521d21f53c0e4d45ba66654c62c $
- */
-public class RequestInfoDTO extends DTO {
- /**
- * The path of the request relative to the root.
- */
- public String path;
-
- /**
- * The service id of the servlet context processing the request
represented
- * by this DTO.
- */
- public long servletContextId;
-
- /**
- * The servlet filters processing this request. If no servlet filters
are
- * called for processing this request, an empty array is returned.
- */
- public FilterDTO[] filterDTOs;
-
- /**
- * The servlet processing this request. If the request is processed by a
- * servlet, this field points to the DTO of the servlet. If the request
is
- * processed by another type of component like a resource, this field is
- * {@code null}.
- */
- public ServletDTO servletDTO;
-
- /**
- * The resource processing this request. If the request is processed by
a
- * resource, this field points to the DTO of the resource. If the
request is
- * processed by another type of component like a servlet, this field is
- * {@code null}.
- */
- public ResourceDTO resourceDTO;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ResourceDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ResourceDTO.java
deleted file mode 100644
index db09beedb3..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ResourceDTO.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-import org.osgi.dto.DTO;
-
-/**
- * Represents a resource definition currently being used by a servlet context.
- *
- * @NotThreadSafe
- * @author $Id: 6c99e33f1664cb933f0a3333deb05f4e1ee37d9c $
- */
-public class ResourceDTO extends DTO {
- /**
- * The request mappings for the resource.
- *
- * <p>
- * The specified patterns are used to determine whether a request is
mapped
- * to the resource. This value is never {@code null}.
- */
- public String[] patterns;
-
- /**
- * The prefix of the resource.
- */
- public String prefix;
-
- /**
- * Service property identifying the resource. In the case of a resource
- * registered in the service registry and picked up by a Servlet
Whiteboard
- * Implementation, this value is not negative and corresponds to the
service
- * id in the registry. If the resource has not been registered in the
- * service registry, the value is negative and a unique negative value
is
- * generated by the Http Service Runtime in this case.
- */
- public long serviceId;
-
- /**
- * The service id of the servlet context for the resource represented by
- * this DTO.
- */
- public long servletContextId;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/RuntimeDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/RuntimeDTO.java
deleted file mode 100644
index 3d24b5ffdb..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/RuntimeDTO.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-import org.osgi.dto.DTO;
-import org.osgi.framework.dto.ServiceReferenceDTO;
-
-/**
- * Represents the state of a Http Service Runtime.
- *
- * @NotThreadSafe
- * @author $Id: 47eaebcf0cc13755e836eec4e3cfa2987c4f155e $
- */
-public class RuntimeDTO extends DTO {
-
- /**
- * The DTO for the corresponding
- * {@code org.osgi.service.servlet.runtime.HttpServiceRuntime}.
- * This value is never {@code null}.
- */
- public ServiceReferenceDTO serviceDTO;
-
- /**
- * Returns the representations of the
- * {@code org.osgi.service.servlet.whiteboard.Preprocessor} objects
used by
- * the Http Service Runtime. The returned array may be empty if the Http
- * Service Runtime is currently not using any
- * {@code org.osgi.service.servlet.whiteboard.Preprocessor} objects.
- */
- public PreprocessorDTO[] preprocessorDTOs;
-
- /**
- * Returns the representations of the {@code
jakarta.servlet.ServletContext}
- * objects used by the Http Service Runtime. The returned array may be
empty
- * if the Http Service Runtime is currently not using any
- * {@code jakarta.servlet.ServletContext} objects.
- */
- public ServletContextDTO[] servletContextDTOs;
-
- /**
- * Returns the representations of the {@code
jakarta.servlet.ServletContext}
- * objects currently not used by the Http service runtime due to some
- * problem. The returned array may be empty.
- */
- public FailedServletContextDTO[] failedServletContextDTOs;
-
- /**
- * Returns the representations of the {@code jakarta.servlet.Servlet}
services
- * associated with this runtime but currently not used due to some
problem.
- * The returned array may be empty.
- */
- public FailedServletDTO[] failedServletDTOs;
-
- /**
- * Returns the representations of the resources associated with this
runtime
- * but currently not used due to some problem. The returned array may be
- * empty.
- */
- public FailedResourceDTO[] failedResourceDTOs;
-
- /**
- * Returns the representations of the servlet
- * {@code org.osgi.service.servlet.whiteboard.Preprocessor} services
- * associated with this runtime but currently not used due to some
problem.
- * The returned array may be empty.
- */
- public FailedPreprocessorDTO[] failedPreprocessorDTOs;
-
- /**
- * Returns the representations of the {@code jakarta.servlet.Filter}
services
- * associated with this runtime but currently not used due to some
problem.
- * The returned array may be empty.
- */
- public FailedFilterDTO[] failedFilterDTOs;
-
- /**
- * Returns the representations of the error page
- * {@code jakarta.servlet.Servlet} services associated with this
runtime but
- * currently not used due to some problem. The returned array may be
empty.
- */
- public FailedErrorPageDTO[] failedErrorPageDTOs;
-
- /**
- * Returns the representations of the listeners associated with this
runtime
- * but currently not used due to some problem. The returned array may be
- * empty.
- */
- public FailedListenerDTO[] failedListenerDTOs;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ServletContextDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ServletContextDTO.java
deleted file mode 100644
index 3501d0ed11..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ServletContextDTO.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-import java.util.Map;
-
-import org.osgi.dto.DTO;
-
-/**
- * Represents a {@code jakarta.servlet.ServletContext} created for servlets,
- * resources, servlet Filters, and listeners associated with that servlet
- * context. The Servlet Context is usually backed by a
- * {@link org.osgi.service.servlet.context.ServletContextHelper} service.
- *
- * @NotThreadSafe
- * @author $Id: edeab606739715e38fdab31edab148665874d68a $
- */
-public class ServletContextDTO extends DTO {
- /**
- * The name of the servlet context.
- * The name of the corresponding
- * {@link org.osgi.service.servlet.context.ServletContextHelper}.
- * <p>
- * This is the value returned by the
- * {@code ServletContext.getServletContextName()} method.
- */
- public String name;
-
- /**
- * The servlet context path.
- *
- * This is the value returned by the {@code
ServletContext.getContextPath()}
- * method.
- */
- public String contextPath;
-
- /**
- * The servlet context initialization parameters. This is the set of
- * parameters provided when registering this context. Additional
parameters
- * like the Http Service Runtime attributes are not included. If the
context
- * has no initialization parameters, this map is empty.
- */
- public Map<String, String> initParams;
-
- /**
- * The servlet context attributes.
- *
- * <p>
- * The value type must be a numerical type, {@code Boolean}, {@code
String},
- * {@code DTO} or an array of any of the former. Therefore this method
will
- * only return the attributes of the servlet context conforming to this
- * constraint. Other attributes are omitted. If there are no attributes
- * conforming to the constraint, an empty map is returned.
- */
- public Map<String, Object> attributes;
-
- /**
- * Service property identifying the servlet context. In the case of a
- * servlet context backed by a
- * {@code org.osgi.service.servlet.context.ServletContextHelper}
registered
- * in the service registry and picked up by a Servlet Whiteboard
- * Implementation, this value is not negative and corresponds to the
service
- * id in the registry. If the servlet context is not backed by a service
- * registered in the service registry, the value is negative and a
unique
- * negative value is generated by the Http Service Runtime in this case.
- */
- public long serviceId;
-
- /**
- * Returns the representations of the {@code Servlet} services
associated
- * with this context.
- *
- * The representations of the {@code Servlet} services associated with
this
- * context. The returned array may be empty if this context is
currently not
- * associated with any {@code Servlet} services.
- */
- public ServletDTO[] servletDTOs;
-
- /**
- * Returns the representations of the resource services associated with
this
- * context.
- *
- * The representations of the resource services associated with this
- * context. The returned array may be empty if this context is
currently not
- * associated with any resource services.
- */
- public ResourceDTO[] resourceDTOs;
-
- /**
- * Returns the representations of the servlet {@code Filter} services
- * associated with this context.
- *
- * The representations of the servlet {@code Filter} services associated
- * with this context. The returned array may be empty if this context is
- * currently not associated with any servlet {@code Filter} services.
- */
- public FilterDTO[] filterDTOs;
-
- /**
- * Returns the representations of the error page {@code Servlet}
services
- * associated with this context.
- *
- * The representations of the error page {@code Servlet} services
associated
- * with this context. The returned array may be empty if this context is
- * currently not associated with any error pages.
- */
- public ErrorPageDTO[] errorPageDTOs;
-
- /**
- * Returns the representations of the listener services associated with
this
- * context.
- *
- * The representations of the listener services associated with this
- * context. The returned array may be empty if this context is
currently not
- * associated with any listener services.
- */
- public ListenerDTO[] listenerDTOs;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ServletDTO.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ServletDTO.java
deleted file mode 100644
index b52cb093a0..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/ServletDTO.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.runtime.dto;
-
-/**
- * Represents a {@code jakarta.servlet.Servlet} currently being used by a
servlet
- * context.
- *
- * @NotThreadSafe
- * @author $Id: 61a5c684d79094916514bd3ef1053763b5857121 $
- */
-public class ServletDTO extends BaseServletDTO {
- /**
- * The request mappings for the servlet.
- * <p>
- * The specified patterns are used to determine whether a request is
mapped
- * to the servlet. This array is never {@code null}. It might be empty
for
- * named servlets.
- */
- public String[] patterns;
-
- /**
- * Specifies whether multipart support is enabled.
- */
- public boolean multipartEnabled;
-
- /**
- * Specifies the size threshold after which the file will be written to
- * disk. If multipart is not enabled for this servlet, {@code 0} is
- * returned.
- *
- * @see #multipartEnabled
- */
- public int
multipartFileSizeThreshold;
-
- /**
- * Specifies the location where the files can be stored on disk. If
- * multipart is not enabled for this servlet, {@code null} is returned.
- *
- * @see #multipartEnabled
- */
- public String multipartLocation;
-
- /**
- * Specifies the maximum size of a file being uploaded. If multipart is
not
- * enabled for this servlet, {@code 0} is returned.
- *
- * @see #multipartEnabled
- */
- public long multipartMaxFileSize;
-
- /**
- * Specifies the maximum request size. If multipart is not enabled for
this
- * servlet, {@code 0} is returned.
- *
- * @see #multipartEnabled
- */
- public long multipartMaxRequestSize;
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/package-info.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/package-info.java
deleted file mode 100644
index 02d5412d78..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/runtime/dto/package-info.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-/**
- * Http Runtime DTO Package Version 2.0.
- * <p>
- * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest. This package has two types
of
- * users: the consumers that use the API in this package and the providers that
- * implement the API in this package.
- * <p>
- * Example import for consumers using the API in this package:
- * <p>
- * {@code Import-Package: org.osgi.service.servlet.runtime.dto;
version="[2.0,3.0)"}
- * <p>
- * Example import for providers implementing the API in this package:
- * <p>
- * {@code Import-Package: org.osgi.service.servlet.runtime.dto;
version="[2.0,3.1)"}
- *
- * @author $Id: f2bf99409b188c36f7363fd2cfc6471cca178ccc $
- */
-
-@Version(HTTP_WHITEBOARD_SPECIFICATION_VERSION + ".0")
-package org.osgi.service.servlet.runtime.dto;
-
-import static
org.osgi.service.servlet.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SPECIFICATION_VERSION;
-
-import org.osgi.annotation.versioning.Version;
-
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/runtime/package-info.java
b/http/base/src/main/java/org/osgi/service/servlet/runtime/package-info.java
deleted file mode 100644
index 3b45f2206d..0000000000
--- a/http/base/src/main/java/org/osgi/service/servlet/runtime/package-info.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-/**
- * Http Runtime Package Version 2.0.
- * <p>
- * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest. This package has two types
of
- * users: the consumers that use the API in this package and the providers that
- * implement the API in this package.
- * <p>
- * Example import for consumers using the API in this package:
- * <p>
- * {@code Import-Package: org.osgi.service.servlet.runtime;
version="[2.0,3.0)"}
- * <p>
- * Example import for providers implementing the API in this package:
- * <p>
- * {@code Import-Package: org.osgi.service.servlet.runtime;
version="[2.0,2.1)"}
- *
- * @author $Id: 927a03b85ba8c3b116e89a796ab6f20897edcd9d $
- */
-
-@Version(HTTP_WHITEBOARD_SPECIFICATION_VERSION + ".0")
-package org.osgi.service.servlet.runtime;
-
-import static
org.osgi.service.servlet.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SPECIFICATION_VERSION;
-
-import org.osgi.annotation.versioning.Version;
-
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/whiteboard/HttpWhiteboardConstants.java
b/http/base/src/main/java/org/osgi/service/servlet/whiteboard/HttpWhiteboardConstants.java
deleted file mode 100644
index fdf07f7055..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/whiteboard/HttpWhiteboardConstants.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.whiteboard;
-
-import org.osgi.framework.Filter;
-
-import jakarta.servlet.Servlet;
-
-/**
- * Defines standard constants for the Servlet Whiteboard services.
- *
- * @author $Id: a4e33f07e0968d7a92c5ea3b70c3cf57ae2a5b13 $
- */
-public final class HttpWhiteboardConstants {
- private HttpWhiteboardConstants() {
- // non-instantiable
- }
-
- /**
- * Service property specifying the name of an
- * {@link org.osgi.service.servlet.context.ServletContextHelper}
service.
- * <p>
- * For {@link org.osgi.service.servlet.context.ServletContextHelper}
- * services, this service property must be specified. Context services
- * without this service property are ignored.
- * <p>
- * Servlet, listener, servlet filter, and resource services might refer
to a
- * specific {@link
org.osgi.service.servlet.context.ServletContextHelper}
- * service referencing the name with the
- * {@link #HTTP_WHITEBOARD_CONTEXT_SELECT} property.
- * <p>
- * For {@link org.osgi.service.servlet.context.ServletContextHelper}
- * services, the value of this service property must be of type
- * {@code String}. The value must follow the "symbolic-name"
specification
- * from Section 1.3.2 of the OSGi Core Specification.
- *
- * @see #HTTP_WHITEBOARD_CONTEXT_PATH
- * @see #HTTP_WHITEBOARD_CONTEXT_SELECT
- * @see #HTTP_WHITEBOARD_DEFAULT_CONTEXT_NAME
- */
- public static final String HTTP_WHITEBOARD_CONTEXT_NAME
= "osgi.http.whiteboard.context.name";
-
- /**
- * The name of the default
- * {@link org.osgi.service.servlet.context.ServletContextHelper}. If a
- * service is registered with this property, it is overriding the
default
- * context with a custom provided context.
- *
- * @see #HTTP_WHITEBOARD_CONTEXT_NAME
- */
- public static final String HTTP_WHITEBOARD_DEFAULT_CONTEXT_NAME
= "default";
-
- /**
- * Service property specifying the path of an
- * {@link org.osgi.service.servlet.context.ServletContextHelper}
service.
- * <p>
- * For {@link org.osgi.service.servlet.context.ServletContextHelper}
- * services this service property is required. Context services without
this
- * service property are ignored.
- * <p>
- * This property defines a context path under which all whiteboard
services
- * associated with this context are registered. Having different
contexts
- * with different paths allows to separate the URL space.
- * <p>
- * For {@link org.osgi.service.servlet.context.ServletContextHelper}
- * services, the value of this service property must be of type
- * {@code String}. The value is either a slash for the root or it must
start
- * with a slash but not end with a slash. Valid characters are defined
in
- * rfc3986#section-3.3. Contexts with an invalid path are ignored.
- *
- * @see #HTTP_WHITEBOARD_CONTEXT_NAME
- * @see #HTTP_WHITEBOARD_CONTEXT_SELECT
- */
- public static final String HTTP_WHITEBOARD_CONTEXT_PATH
= "osgi.http.whiteboard.context.path";
-
- /**
- * Service property prefix referencing a
- * {@link org.osgi.service.servlet.context.ServletContextHelper}
service.
- * <p>
- * For {@link org.osgi.service.servlet.context.ServletContextHelper}
- * services this prefix can be used for service properties to mark them
as
- * initialization parameters which can be retrieved from the associated
- * servlet context. The prefix is removed from the service property
name to
- * build the initialization parameter name.
- * <p>
- * For {@link org.osgi.service.servlet.context.ServletContextHelper}
- * services, the value of each initialization parameter service property
- * must be of type {@code String}.
- */
- public static final String
HTTP_WHITEBOARD_CONTEXT_INIT_PARAM_PREFIX = "context.init.";
-
- /**
- * Service property referencing a
- * {@link org.osgi.service.servlet.context.ServletContextHelper}
service.
- * <p>
- * For servlet, listener, servlet filter, or resource services, this
service
- * property refers to the associated
- * {@code org.osgi.service.servlet.context.ServletContextHelper}
service.
- * The value of this property is a filter expression which is matched
- * against the service registration properties of the
- * {@code org.osgi.service.servlet.context.ServletContextHelper}
service. If
- * this service property is not specified, the default context is used.
If
- * there is no context service matching, the servlet, listener, servlet
- * filter, or resource service is ignored.
- * <p>
- * For example, if a whiteboard service wants to select a servlet
context
- * helper with the name "Admin" the expression would be
- * "(osgi.http.whiteboard.context.name=Admin)". Selecting all
- * contexts could be done with
- * "(osgi.http.whiteboard.context.name=*)".
- * <p>
- * For servlet, listener, servlet filter, or resource services, the
value of
- * this service property must be of type {@code String}.
- *
- * @see #HTTP_WHITEBOARD_CONTEXT_NAME
- * @see #HTTP_WHITEBOARD_CONTEXT_PATH
- */
- public static final String HTTP_WHITEBOARD_CONTEXT_SELECT
= "osgi.http.whiteboard.context.select";
-
- /**
- * Service property specifying the servlet name of a {@code Servlet}
- * service.
- * <p>
- * The servlet is registered with this name and the name can be used as
a
- * reference to the servlet for filtering or request dispatching.
- * <p>
- * This name is in addition used as the value for the
- * {@code ServletConfig.getServletName()} method. If this service
property
- * is not specified, the fully qualified name of the service object's
class
- * is used as the servlet name. Filter services may refer to servlets by
- * this name in their {@link #HTTP_WHITEBOARD_FILTER_SERVLET} service
- * property to apply the filter to the servlet.
- * <p>
- * Servlet names should be unique among all servlet services associated
with
- * a single {@link
org.osgi.service.servlet.context.ServletContextHelper}.
- * <p>
- * The value of this service property must be of type {@code String}.
- */
- public static final String HTTP_WHITEBOARD_SERVLET_NAME
= "osgi.http.whiteboard.servlet.name";
-
- /**
- * Service property specifying the request mappings for a {@code
Servlet}
- * service.
- * <p>
- * The specified patterns are used to determine whether a request
should be
- * mapped to the servlet. Servlet services without this service
property,
- * {@link #HTTP_WHITEBOARD_SERVLET_ERROR_PAGE} or
- * {@link #HTTP_WHITEBOARD_SERVLET_NAME} are ignored.
- * <p>
- * The value of this service property must be of type {@code String},
- * {@code String[]}, or {@code Collection<String>}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 12.2
Specification of Mappings"
- */
- public static final String HTTP_WHITEBOARD_SERVLET_PATTERN
= "osgi.http.whiteboard.servlet.pattern";
-
- /**
- * Service property specifying whether a {@code Servlet} service acts
as an
- * error page.
- *
- * <p>
- * The service property values may be the name of a fully qualified
- * exception class, a three digit HTTP status code, the value "4xx" for
all
- * error codes in the 400 range, or the value "5xx" for all error codes
in
- * the 500 range. Any value that is not a three digit number, or one of
the
- * two special values is considered to be the name of a fully qualified
- * exception class.
- *
- * <p>
- * The value of this service property must be of type {@code String},
- * {@code String[]}, or {@code Collection<String>}.
- */
- public static final String HTTP_WHITEBOARD_SERVLET_ERROR_PAGE
= "osgi.http.whiteboard.servlet.errorPage";
-
- /**
- * Service property specifying whether a {@code Servlet} service
supports
- * asynchronous processing.
- *
- * <p>
- * By default servlet services do not support asynchronous processing.
- *
- * <p>
- * The value of this service property must be of type {@code Boolean}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 2.3.3.3
Asynchronous Processing"
- */
- public static final String HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED
= "osgi.http.whiteboard.servlet.asyncSupported";
-
- /**
- * Service property prefix referencing a {@link Servlet} service.
- *
- * <p>
- * For {@link Servlet} services this prefix can be used for service
- * properties to mark them as initialization parameters which can be
- * retrieved from the associated servlet config. The prefix is removed
from
- * the service property name to build the initialization parameter name.
- *
- * <p>
- * For {@link Servlet} services, the value of each initialization
parameter
- * service property must be of type {@code String}.
- *
- */
- public static final String
HTTP_WHITEBOARD_SERVLET_INIT_PARAM_PREFIX = "servlet.init.";
-
- /**
- * Service property specifying whether a {@code Servlet} service has
enabled
- * multipart request processing.
- * <p>
- * By default servlet services do not have multipart request processing
- * enabled.
- * <p>
- * The value of this service property must be of type {@code Boolean}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 8.1.5
@MultipartConfig"
- */
- public static final String
HTTP_WHITEBOARD_SERVLET_MULTIPART_ENABLED =
"osgi.http.whiteboard.servlet.multipart.enabled";
-
- /**
- * Service property specifying the size threshold after which the file
will
- * be written to disk.
- * <p>
- * When not set or when the value is not valid, the default threshold is
- * determined by the implementation. This property is only evaluated if
- * {@link #HTTP_WHITEBOARD_SERVLET_MULTIPART_ENABLED} is set to {@code
true}
- * .
- * <p>
- * The value of this service property must be of type {@code Integer}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 14.4
Deployment Descriptor Diagram"
- */
- public static final String
HTTP_WHITEBOARD_SERVLET_MULTIPART_FILESIZETHRESHOLD =
"osgi.http.whiteboard.servlet.multipart.fileSizeThreshold";
-
- /**
- * Service property specifying the location where the files can be
stored on
- * disk.
- * <p>
- * When not set the default location is defined by the value of the
system
- * property "java.io.tmpdir". This property is only evaluated if
- * {@link #HTTP_WHITEBOARD_SERVLET_MULTIPART_ENABLED} is set to {@code
true}
- * .
- * <p>
- * The value of this service property must be of type {@code String}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 14.4
Deployment Descriptor Diagram"
- */
- public static final String
HTTP_WHITEBOARD_SERVLET_MULTIPART_LOCATION =
"osgi.http.whiteboard.servlet.multipart.location";
-
- /**
- * Service property specifying the maximum size of a file being
uploaded.
- * <p>
- * When not set or when the value is not valid, the default maximum
size is
- * [@code -1} (no maximum size). This property is only evaluated if
- * {@link #HTTP_WHITEBOARD_SERVLET_MULTIPART_ENABLED} is set to {@code
true}
- * .
- * <p>
- * The value of this service property must be of type {@code Long}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 14.4
Deployment Descriptor Diagram"
- */
- public static final String
HTTP_WHITEBOARD_SERVLET_MULTIPART_MAXFILESIZE =
"osgi.http.whiteboard.servlet.multipart.maxFileSize";
-
- /**
- * Service property specifying the maximum request size.
- * <p>
- * When not set or when the value is not valid, the default maximum
request
- * size is {@code -1} (no maximum size). This property is only
evaluated if
- * {@link #HTTP_WHITEBOARD_SERVLET_MULTIPART_ENABLED} is set to {@code
true}
- * .
- * <p>
- * The value of this service property must be of type {@code Long}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 14.4
Deployment Descriptor Diagram"
- */
- public static final String
HTTP_WHITEBOARD_SERVLET_MULTIPART_MAXREQUESTSIZE =
"osgi.http.whiteboard.servlet.multipart.maxRequestSize";
-
- /**
- * Service property specifying the servlet filter name of a {@code
Filter}
- * service.
- * <p>
- * This name is used as the value for the
- * {@code FilterConfig.getFilterName()} method. If this service
property is
- * not specified, the fully qualified name of the service object's
class is
- * used as the servlet filter name.
- * <p>
- * Servlet filter names should be unique among all servlet filter
services
- * associated with a single
- * {@link org.osgi.service.servlet.context.ServletContextHelper}.
- * <p>
- * The value of this service property must be of type {@code String}.
- */
- public static final String HTTP_WHITEBOARD_FILTER_NAME
= "osgi.http.whiteboard.filter.name";
-
- /**
- * Service property specifying the request mappings for a {@code Filter}
- * service.
- *
- * <p>
- * The specified patterns are used to determine whether a request
should be
- * mapped to the servlet filter. Filter services without this service
- * property or the {@link #HTTP_WHITEBOARD_FILTER_SERVLET} or the
- * {@link #HTTP_WHITEBOARD_FILTER_REGEX} service property are ignored.
- *
- * <p>
- * The value of this service property must be of type {@code String},
- * {@code String[]}, or {@code Collection<String>}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 12.2
Specification of Mappings"
- */
- public static final String HTTP_WHITEBOARD_FILTER_PATTERN
= "osgi.http.whiteboard.filter.pattern";
-
- /**
- * Service property specifying the {@link #HTTP_WHITEBOARD_SERVLET_NAME
- * servlet names} for a servlet {@code Filter} service.
- *
- * <p>
- * The specified names are used to determine the servlets whose requests
- * should be mapped to the servlet filter. Servlet filter services
without
- * this service property or the {@link #HTTP_WHITEBOARD_FILTER_PATTERN}
or
- * the {@link #HTTP_WHITEBOARD_FILTER_REGEX} service property are
ignored.
- *
- * <p>
- * The value of this service property must be of type {@code String},
- * {@code String[]}, or {@code Collection<String>}.
- */
- public static final String HTTP_WHITEBOARD_FILTER_SERVLET
= "osgi.http.whiteboard.filter.servlet";
-
- /**
- * Service property specifying the request mappings for a servlet
- * {@code Filter} service.
- *
- * <p>
- * The specified regular expressions are used to determine whether a
request
- * should be mapped to the servlet filter. The regular expressions must
- * follow the syntax defined in {@code java.util.regex.Pattern}. Servlet
- * filter services without this service property or the
- * {@link #HTTP_WHITEBOARD_FILTER_SERVLET} or the
- * {@link #HTTP_WHITEBOARD_FILTER_PATTERN} service property are ignored.
- *
- * <p>
- * The value of this service property must be of type {@code String},
- * {@code String[]}, or {@code Collection<String>}.
- *
- * @see "java.util.regex.Pattern"
- */
- public static final String HTTP_WHITEBOARD_FILTER_REGEX
= "osgi.http.whiteboard.filter.regex";
-
- /**
- * Service property specifying whether a servlet {@code Filter} service
- * supports asynchronous processing.
- *
- * <p>
- * By default servlet filters services do not support asynchronous
- * processing.
- *
- * <p>
- * The value of this service property must be of type {@code Boolean}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 2.3.3.3
Asynchronous Processing"
- */
- public static final String HTTP_WHITEBOARD_FILTER_ASYNC_SUPPORTED
= "osgi.http.whiteboard.filter.asyncSupported";
-
- /**
- * Service property specifying the dispatcher handling of a servlet
- * {@code Filter}.
- *
- * <p>
- * By default servlet filter services are associated with client
requests
- * only (see value {@link #DISPATCHER_REQUEST}).
- *
- * <p>
- * The value of this service property must be of type {@code String},
- * {@code String[]}, or {@code Collection<String>}. Allowed values are
- * {@link #DISPATCHER_ASYNC}, {@link #DISPATCHER_ERROR},
- * {@link #DISPATCHER_FORWARD}, {@link #DISPATCHER_INCLUDE},
- * {@link #DISPATCHER_REQUEST}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 6.2.5 Filters
and the RequestDispatcher"
- */
- public static final String HTTP_WHITEBOARD_FILTER_DISPATCHER
= "osgi.http.whiteboard.filter.dispatcher";
-
- /**
- * Service property prefix referencing a {@link Filter} service.
- *
- * <p>
- * For {@link Filter} services this prefix can be used for service
- * properties to mark them as initialization parameters which can be
- * retrieved from the associated filter config. The prefix is removed
from
- * the service property name to build the initialization parameter name.
- *
- * <p>
- * For {@link Filter} services, the value of each initialization
parameter
- * service property must be of type {@code String}.
- *
- */
- public static final String
HTTP_WHITEBOARD_FILTER_INIT_PARAM_PREFIX = "filter.init.";
-
- /**
- * Service property prefix referencing a {@link Preprocessor} service.
- * <p>
- * For {@link Preprocessor} services this prefix can be used for service
- * properties to mark them as initialization parameters which can be
- * retrieved from the associated filter configuration. The prefix is
removed
- * from the service property name to build the initialization parameter
- * name.
- * <p>
- * For {@link Preprocessor} services, the value of each initialization
- * parameter service property must be of type {@code String}.
- */
- public static final String
HTTP_WHITEBOARD_PREPROCESSOR_INIT_PARAM_PREFIX = "preprocessor.init.";
-
- /**
- * Service property to mark a Listener service as a Whiteboard service.
- * Listener services with this property set to the string value "true"
will
- * be treated as Whiteboard services opting in to being handled by the
- * Servlet Whiteboard implementation. If the value "false" is
specified, the
- * service is opting out and this case is treated exactly the same as if
- * this property is missing. If an invalid value is specified this is
- * treated as a failure.
- * <p>
- * The value of this service property must be of type {@code String}.
Valid
- * values are "true" and "false" ignoring case.
- */
- public static final String HTTP_WHITEBOARD_LISTENER
= "osgi.http.whiteboard.listener";
-
- /**
- * Possible value for the {@link #HTTP_WHITEBOARD_FILTER_DISPATCHER}
- * property indicating the servlet filter is applied to client requests.
- *
- * @see "Java Servlet Specification Version 3.0, Section 6.2.5 Filters
and the RequestDispatcher"
- */
- public static final String DISPATCHER_REQUEST
= "REQUEST";
-
- /**
- * Possible value for the {@link #HTTP_WHITEBOARD_FILTER_DISPATCHER}
- * property indicating the servlet filter is applied to include calls
to the
- * dispatcher.
- *
- * @see "Java Servlet Specification Version 3.0, Section 6.2.5 Filters
and the RequestDispatcher"
- */
- public static final String DISPATCHER_INCLUDE
= "INCLUDE";
-
- /**
- * Possible value for the {@link #HTTP_WHITEBOARD_FILTER_DISPATCHER}
- * property indicating the servlet filter is applied to forward calls
to the
- * dispatcher.
- *
- * @see "Java Servlet Specification Version 3.0, Section 6.2.5 Filters
and the RequestDispatcher"
- */
- public static final String DISPATCHER_FORWARD
= "FORWARD";
-
- /**
- * Possible value for the {@link #HTTP_WHITEBOARD_FILTER_DISPATCHER}
- * property indicating the servlet filter is applied in the asynchronous
- * context.
- *
- * @see "Java Servlet Specification Version 3.0, Section 6.2.5 Filters
and the RequestDispatcher"
- */
- public static final String DISPATCHER_ASYNC
= "ASYNC";
-
- /**
- * Possible value for the {@link #HTTP_WHITEBOARD_FILTER_DISPATCHER}
- * property indicating the servlet filter is applied when an error page
is
- * called.
- *
- * @see "Java Servlet Specification Version 3.0, Section 6.2.5 Filters
and the RequestDispatcher"
- */
- public static final String DISPATCHER_ERROR
= "ERROR";
-
- /**
- * Service property specifying the request mappings for resources.
- *
- * <p>
- * The specified patterns are used to determine whether a request
should be
- * mapped to resources. Resource services without this service property
are
- * ignored.
- *
- * <p>
- * The value of this service property must be of type {@code String},
- * {@code String[]}, or {@code Collection<String>}.
- *
- * @see "Java Servlet Specification Version 3.0, Section 12.2
Specification of Mappings"
- * @see #HTTP_WHITEBOARD_RESOURCE_PREFIX
- */
- public static final String HTTP_WHITEBOARD_RESOURCE_PATTERN
= "osgi.http.whiteboard.resource.pattern";
-
- /**
- * Service property specifying the resource entry prefix for a resource
- * service.
- *
- * <p>
- * If a resource service is registered with this property, requests are
- * served with bundle resources.
- *
- * <p>
- * This prefix is used to map a requested resource to the bundle's
entries.
- * The value must not end with slash ("/") with the exception
that
- * a name of the form "/" is used to denote the root of the
- * bundle. See the specification text for details on how HTTP requests
are
- * mapped.
- *
- * <p>
- * The value of this service property must be of type {@code String}.
- *
- * @see #HTTP_WHITEBOARD_RESOURCE_PATTERN
- */
- public static final String HTTP_WHITEBOARD_RESOURCE_PREFIX
= "osgi.http.whiteboard.resource.prefix";
-
- /**
- * Service property specifying the target filter to select the Servlet
- * Whiteboard implementation to process the service.
- * <p>
- * An Servlet Whiteboard implementation can define any number of service
- * properties which can be referenced by the target filter. The service
- * properties should always include the
- * {@link
org.osgi.service.servlet.runtime.HttpServiceRuntimeConstants#HTTP_SERVICE_ENDPOINT
- * osgi.http.endpoint} service property if the endpoint information is
- * known.
- * <p>
- * If this service property is not specified, then all Servlet
Whiteboard
- * implementations can process the service.
- * <p>
- * The value of this service property must be of type {@code String}
and be
- * a valid {@link Filter filter string}.
- */
- public static final String HTTP_WHITEBOARD_TARGET
= "osgi.http.whiteboard.target";
-
- /**
- * The name of the implementation capability for the Servlet Whiteboard
- * specification
- */
- public static final String HTTP_WHITEBOARD_IMPLEMENTATION
= "osgi.http";
-
- /**
- * The version of the implementation capability for the Servlet
Whiteboard
- * specification
- */
- public static final String HTTP_WHITEBOARD_SPECIFICATION_VERSION
= "2.0";
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/whiteboard/Preprocessor.java
b/http/base/src/main/java/org/osgi/service/servlet/whiteboard/Preprocessor.java
deleted file mode 100644
index 45e774843e..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/whiteboard/Preprocessor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-package org.osgi.service.servlet.whiteboard;
-
-import jakarta.servlet.Filter;
-
-import org.osgi.annotation.versioning.ConsumerType;
-
-/**
- * Services registered as a {@code Preprocessor} using a whiteboard pattern are
- * executed for every request before the dispatching is performed.
- * <p>
- * If there are several services of this type, they are run in
- * {@link org.osgi.framework.ServiceReference#compareTo(Object) ranking order},
- * the one with the highest ranking is used first.
- * <p>
- * The preprocessor is handled in the same way as filters. When a preprocessor
- * is put into service {@link Filter#init(jakarta.servlet.FilterConfig)} is
- * called, when it is not used anymore {@link Filter#destroy()} is called. As
- * these preprocessors are run before dispatching and therefore the targeted
- * servlet context is not known yet,
- * {@link jakarta.servlet.FilterConfig#getServletContext()} returns the servlet
- * context of the backing implementation. The same context is returned by the
- * request object. The context path is the context path of this underlying
- * servlet context. The passed in chain can be used to invoke the next
- * preprocessor in the chain, or if the end of that chain is reached to start
- * dispatching of the request. A preprocessor might decide to terminate the
- * processing and directly generate a response.
- * <p>
- * Service properties with the prefix
- * {@code
HttpWhiteboardConstants#HTTP_WHITEBOARD_PREPROCESSOR_INIT_PARAM_PREFIX}
- * are passed as init parameters to this service.
- *
- * @ThreadSafe
- * @author $Id: 05d8e702924b076e77ec08fe42817a983ca37a2c $
- */
-@ConsumerType
-public interface Preprocessor extends Filter {
-
- // this interface is a marker interface
-}
diff --git
a/http/base/src/main/java/org/osgi/service/servlet/whiteboard/package-info.java
b/http/base/src/main/java/org/osgi/service/servlet/whiteboard/package-info.java
deleted file mode 100644
index a59d28ae8f..0000000000
---
a/http/base/src/main/java/org/osgi/service/servlet/whiteboard/package-info.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) Contributors to the Eclipse Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
-
*******************************************************************************/
-
-/**
- * Servlet Whiteboard Package Version 2.0.
- * <p>
- * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest. This package has two types
of
- * users: the consumers that use the API in this package and the providers that
- * implement the API in this package.
- * <p>
- * Example import for consumers using the API in this package:
- * <p>
- * {@code Import-Package: org.osgi.service.servlet.whiteboard;
version="[2.0,3.0)"}
- * <p>
- * Example import for providers implementing the API in this package:
- * <p>
- * {@code Import-Package: org.osgi.service.servlet.whiteboard;
version="[2.0,2.1)"}
- *
- * @author $Id: 082bf9fd1373d9fcf1a58e5de76bc76bb448cfad $
- */
-
-@Version(HttpWhiteboardConstants.HTTP_WHITEBOARD_SPECIFICATION_VERSION + ".0")
-package org.osgi.service.servlet.whiteboard;
-
-import org.osgi.annotation.versioning.Version;
-
diff --git a/http/jetty/pom.xml b/http/jetty/pom.xml
index ac7914fad3..288ae0aa22 100644
--- a/http/jetty/pom.xml
+++ b/http/jetty/pom.xml
@@ -388,6 +388,12 @@
<artifactId>jetty-alpn-server</artifactId>
<version>${jetty.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.servlet</artifactId>
+ <version>2.0.0-RC1</version>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.http</artifactId>