You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2014/05/28 16:31:48 UTC
svn commit: r1598025 [2/2] - in
/felix/sandbox/http-rfc189/api/src/main/java/org/osgi: ./ annotation/
annotation/versioning/ dto/ service/ service/http/ service/http/context/
service/http/runtime/ service/http/runtime/dto/ service/http/whiteboard/
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/RuntimeDTO.java
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/RuntimeDTO.java?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/RuntimeDTO.java (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/RuntimeDTO.java Wed May 28 14:31:46 2014
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ *
+ * 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.
+ */
+
+package org.osgi.service.http.runtime.dto;
+
+import java.util.Map;
+import org.osgi.dto.DTO;
+
+/**
+ * Represents the state of a Http Service Runtime.
+ *
+ * @NotThreadSafe
+ * @author $Id$
+ */
+public class RuntimeDTO extends DTO {
+
+ /**
+ * The runtime attributes.
+ */
+ public Map<String, String> attributes;
+
+ /**
+ * Returns the representations of the {@code javax.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 ServletContext} objects.
+ */
+ public ServletContextDTO[] servletContextDTOs;
+
+ /**
+ * Returns the representations of the {@code javax.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 javax.servlet.Servlet} servlets 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 javax.servlet.Filter} filters
+ * 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 javax.servlet.Servlet} servlets
+ * 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;
+}
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/RuntimeDTO.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/RuntimeDTO.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletContextDTO.java
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletContextDTO.java?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletContextDTO.java (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletContextDTO.java Wed May 28 14:31:46 2014
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ *
+ * 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.
+ */
+
+package org.osgi.service.http.runtime.dto;
+
+import java.util.Map;
+import org.osgi.dto.DTO;
+
+/**
+ * Represents a {@code javax.servlet.ServletContext} created for used servlets,
+ * resources, servlet filters, and listeners. The servlet context is backed by a
+ * {@link org.osgi.service.http.context.ServletContextHelper} service.
+ *
+ * @NotThreadSafe
+ * @author $Id$
+ */
+public class ServletContextDTO extends DTO {
+ /**
+ * The names of the HTTP context.
+ *
+ * An array of the names the corresponding
+ * {@link org.osgi.service.http.context.ServletContextHelper} is used for.
+ * For managed contexts, like the default context managed by the Http Whiteboard Service
+ * implementation, {@code null} is returned.
+ */
+ public String[] names;
+
+ /**
+ * The context name of the servlet context.
+ *
+ * <p>
+ * This is the value returned by the
+ * {@code ServletContext.getServletContextName()} method.
+ */
+ public String contextName;
+
+ /**
+ * 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.
+ */
+ public Map<String, String> initParams;
+
+ /**
+ * The servlet context attributes.
+ *
+ * <p>
+ * The value type must be a numerical type, Boolean, String, 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.
+ */
+ public Map<String, Object> attributes;
+
+ /**
+ * Service property identifying the servlet context. In the case of a servlet context registered
+ * in the service registry and picked up by a whiteboard implementation, this value
+ * is not negative and corresponds to the service id in the registry.
+ * If the servlet context 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;
+
+ /**
+ * 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;
+}
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletContextDTO.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletContextDTO.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletDTO.java
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletDTO.java?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletDTO.java (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletDTO.java Wed May 28 14:31:46 2014
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ *
+ * 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.
+ */
+
+package org.osgi.service.http.runtime.dto;
+
+
+/**
+ * Represents a {@code javax.servlet.Servlet} currently being used for a servlet
+ * context.
+ *
+ * @NotThreadSafe
+ * @author $Id$
+ */
+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.
+ */
+ public String[] patterns;
+}
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletDTO.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/ServletDTO.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/package-info.java
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/package-info.java?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/package-info.java (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/package-info.java Wed May 28 14:31:46 2014
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) OSGi Alliance (2010, 2014). All Rights Reserved.
+ *
+ * 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.
+ */
+
+/**
+ * Http Service Runtime DTO Package Version 1.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.http.runtime.dto; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code Import-Package: org.osgi.service.http.runtime.dto; version="[1.0,1.1)"}
+ *
+ * @author $Id$
+ */
+
+@Version("1.0")
+package org.osgi.service.http.runtime.dto;
+
+import org.osgi.annotation.versioning.Version;
+
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/packageinfo
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/packageinfo?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/packageinfo (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/dto/packageinfo Wed May 28 14:31:46 2014
@@ -0,0 +1 @@
+version 1.0
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/package-info.java
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/package-info.java?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/package-info.java (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/package-info.java Wed May 28 14:31:46 2014
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) OSGi Alliance (2010, 2014). All Rights Reserved.
+ *
+ * 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.
+ */
+
+/**
+ * Http Service Runtime Package Version 1.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.http.runtime; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code Import-Package: org.osgi.service.http.runtime; version="[1.0,1.1)"}
+ *
+ * @author $Id$
+ */
+
+@Version("1.0")
+package org.osgi.service.http.runtime;
+
+import org.osgi.annotation.versioning.Version;
+
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/packageinfo
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/packageinfo?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/packageinfo (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/runtime/packageinfo Wed May 28 14:31:46 2014
@@ -0,0 +1 @@
+version 1.0
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/HttpWhiteboardConstants.java
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/HttpWhiteboardConstants.java?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/HttpWhiteboardConstants.java (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/HttpWhiteboardConstants.java Wed May 28 14:31:46 2014
@@ -0,0 +1,360 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ *
+ * 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.
+ */
+
+package org.osgi.service.http.whiteboard;
+
+/**
+ * Defines standard names for Http Whiteboard Service constants.
+ *
+ * @author $Id$
+ */
+public final class HttpWhiteboardConstants {
+ private HttpWhiteboardConstants() {
+ // non-instantiable
+ }
+
+ /**
+ * Service property specifying the name(s) of an
+ * {@link org.osgi.service.http.context.ServletContextHelper} service.
+ *
+ * <p>
+ * For {@link org.osgi.service.http.context.ServletContextHelper} services,
+ * this service property must be specified. Context services without this
+ * service property must be ignored.
+ *
+ * <p>
+ * Servlet, listener, servlet filter, and resource servlet services might
+ * refer to a specific
+ * {@link org.osgi.service.http.context.ServletContextHelper} service
+ * referencing the name with the {@link #HTTP_WHITEBOARD_CONTEXT_SELECT}
+ * property.
+ *
+ * <p>
+ * For {@link org.osgi.service.http.context.ServletContextHelper} services,
+ * the value of this service property must be of type {@code String},
+ * {@code String[]}, or {@code Collection<String>}. Each 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
+ */
+ public static final String HTTP_WHITEBOARD_CONTEXT_NAME = "osgi.http.whiteboard.context.name";
+
+ /**
+ * Service property specifying the path of an
+ * {@link org.osgi.service.http.context.ServletContextHelper} service.
+ *
+ * <p>
+ * For {@link org.osgi.service.http.context.ServletContextHelper} services
+ * this service property is optional.
+ *
+ * <p>
+ * This property defines a context path under which all whiteboard services
+ * are registered. Having different contexts with different paths allows to
+ * separate the URL space.
+ *
+ * <p>
+ * For {@link org.osgi.service.http.context.ServletContextHelper} services,
+ * the value of this service property must be of type {@code String}
+ *
+ * @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 referencing the
+ * {@link org.osgi.service.http.context.ServletContextHelper} service.
+ *
+ * <p>
+ * For servlet, listener, servlet filter, or resource servlet services, this
+ * service property refers to the associated Servlet Context Helper service.
+ * The value of this property either directly referencing a context name or
+ * is a filter expression which is matched against the service registration
+ * properties of the Servlet Context Helper. If this service property is not
+ * specified, then the default context must be used. If there is no context
+ * service matching, the servlet, listener, servlet filter, or resource
+ * servlet service must be ignored.
+ *
+ * <p>
+ * For servlet, listener, servlet filter, or resource servlet 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>
+ * This name is 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 must be unique among all servlet services associated with
+ * an {@link org.osgi.service.http.context.ServletContextHelper}. If
+ * multiple servlet services associated with the same HttpContext have the
+ * same servlet name, then all but the highest ranked servlet service must
+ * be ignored.
+ *
+ * <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 or
+ * {@link #HTTP_WHITEBOARD_SERVLET_ERROR_PAGE} must be 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 or a three digit HTTP status code. Any value that is not
+ * a three digit number 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 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 must be unique among all servlet filter services
+ * associated with an
+ * {@link org.osgi.service.http.context.ServletContextHelper}. If multiple
+ * servlet filter services associated with the same HttpContext have the
+ * same servlet filter name, then all but the highest ranked servlet filter
+ * service must be ignored.
+ *
+ * <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_REGEXP} service property must be 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 {@code Filter} service.
+ *
+ * <p>
+ * The specified names are used to determine the servlets whose requests
+ * should be mapped to the servlet filter. Filter services without this
+ * service property or the {@link #HTTP_WHITEBOARD_FILTER_PATTERN} or the
+ * {@link #HTTP_WHITEBOARD_FILTER_REGEXP} service property must be 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 {@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 {@link java.util.regex.Pattern}. Filter
+ * services without this service property or the
+ * {@link #HTTP_WHITEBOARD_FILTER_SERVLET} or the
+ * {@link #HTTP_WHITEBOARD_FILTER_PATTERN} service property must be 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_REGEXP = "osgi.http.whiteboard.filter.regexp";
+
+ /**
+ * Service property specifying whether a {@code Filter} service supports
+ * asynchronous processing.
+ *
+ * <p>
+ * By default 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 {@code Filter}.
+ *
+ * <p>
+ * By default Filters 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";
+
+ /**
+ * Possible value for the {@link #HTTP_WHITEBOARD_FILTER_DISPATCHER}
+ * property indicating the 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 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 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 filter is applied in the async 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 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 resource entry prefix for a
+ * {@link javax.servlet.Servlet} servlet service.
+ *
+ * <p>
+ * If a servlet service is registerd with this property, it is marked as a
+ * resource serving servlet serving bundle resources.
+ *
+ * <p>
+ * This prefix is used to map a requested resource to the bundle's entries.
+ * TODO do we distinguish between "/xyz" and "xyz"?
+ * <p>
+ * The value of this service property must be of type {@code String}.
+ */
+ public static final String HTTP_WHITEBOARD_RESOURCE_PREFIX = "osgi.http.whiteboard.resource.prefix";
+
+ /**
+ * Service property specifying the target filter to select the Http Whiteboard Service
+ * runtime to process the service.
+ *
+ * <p>
+ * An Http Whiteboard Service implementation can define any number of attributes which
+ * can be referenced by the target filter. The attributes should always
+ * include the
+ * {@link org.osgi.service.http.runtime.HttpServiceRuntimeConstants#HTTP_SERVICE_ENDPOINT_ATTRIBUTE
+ * osgi.http.endpoint} attribute if the endpoint information is known.
+ *
+ * <p>
+ * If this service property is not specified, then all Http Whiteboard Services
+ * can process the service.
+ *
+ * <p>
+ * The value of this service property must be of type {@code String} and be
+ * a valid {@link org.osgi.framework.Filter filter string}.
+ */
+ public static final String HTTP_WHITEBOARD_TARGET = "osgi.http.whiteboard.target";
+}
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/HttpWhiteboardConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/HttpWhiteboardConstants.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/package-info.java
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/package-info.java?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/package-info.java (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/package-info.java Wed May 28 14:31:46 2014
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) OSGi Alliance (2010, 2014). All Rights Reserved.
+ *
+ * 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.
+ */
+
+/**
+ * Http Service Whiteboard Package Version 1.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.http.whiteboard; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code Import-Package: org.osgi.service.http.whiteboard; version="[1.0,1.1)"}
+ *
+ * @author $Id$
+ */
+
+@Version("1.0")
+package org.osgi.service.http.whiteboard;
+
+import org.osgi.annotation.versioning.Version;
+
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Added: felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/packageinfo
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/packageinfo?rev=1598025&view=auto
==============================================================================
--- felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/packageinfo (added)
+++ felix/sandbox/http-rfc189/api/src/main/java/org/osgi/service/http/whiteboard/packageinfo Wed May 28 14:31:46 2014
@@ -0,0 +1 @@
+version 1.0