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