org.glassfish.osgihttp
Class OSGiServletContext

java.lang.Object
  extended by org.glassfish.osgihttp.OSGiServletContext
All Implemented Interfaces:
javax.servlet.ServletContext

public class OSGiServletContext
extends java.lang.Object
implements javax.servlet.ServletContext

Unlike Java EE Web Application model, there is no notion of "context path" in OSGi HTTP service spec. Here the servlets can specify which context they belong to by passing a HttpContext object. Those HttpContext objects don't have any "path" attribute. As a result, all the OSGi/HTTP servlets belonging to the same servlet context may not have any of the path common to them. Internally, we register all the OSGi servlets (actually we register OSGiServletWrapper with the same Context object. So we need a way to demultiplex the OSGi servlet context. This class also delegates to HttpContext for resource resolutions and security.

Author:
Sanjeeb.Sahoo@Sun.COM

Field Summary
 
Fields inherited from interface javax.servlet.ServletContext
ORDERED_LIBS, TEMPDIR
 
Constructor Summary
OSGiServletContext(javax.servlet.ServletContext delegate, org.osgi.service.http.HttpContext httpContext)
           
 
Method Summary
 javax.servlet.FilterRegistration.Dynamic addFilter(java.lang.String filterName, java.lang.Class<? extends javax.servlet.Filter> filterClass)
           
 javax.servlet.FilterRegistration.Dynamic addFilter(java.lang.String filterName, javax.servlet.Filter filter)
           
 javax.servlet.FilterRegistration.Dynamic addFilter(java.lang.String filterName, java.lang.String className)
           
 void addFilterMappingForServletNames(java.lang.String filterName, java.util.EnumSet<javax.servlet.DispatcherType> dispatcherTypes, boolean isMatchAfter, java.lang.String... servletNames)
           
 void addFilterMappingForUrlPatterns(java.lang.String filterName, java.util.EnumSet<javax.servlet.DispatcherType> dispatcherTypes, boolean isMatchAfter, java.lang.String... urlPatterns)
           
 void addListener(java.lang.Class<? extends java.util.EventListener> listenerClass)
           
 void addListener(java.lang.String className)
           
<T extends java.util.EventListener>
void
addListener(T t)
           
 javax.servlet.ServletRegistration.Dynamic addServlet(java.lang.String servletName, java.lang.Class<? extends javax.servlet.Servlet> servletClass)
           
 javax.servlet.ServletRegistration.Dynamic addServlet(java.lang.String servletName, javax.servlet.Servlet servlet)
           
 javax.servlet.ServletRegistration.Dynamic addServlet(java.lang.String servletName, java.lang.String className)
           
 void addServletMapping(java.lang.String servletName, java.lang.String[] urlPatterns)
           
<T extends javax.servlet.Filter>
T
createFilter(java.lang.Class<T> c)
           
<T extends java.util.EventListener>
T
createListener(java.lang.Class<T> c)
           
<T extends javax.servlet.Servlet>
T
createServlet(java.lang.Class<T> c)
           
 void declareRoles(java.lang.String... roleNames)
           
 java.lang.Object getAttribute(java.lang.String name)
           
 java.util.Enumeration getAttributeNames()
           
 java.lang.ClassLoader getClassLoader()
           
 javax.servlet.ServletContext getContext(java.lang.String uri)
           
 java.lang.String getContextPath()
           
 java.util.EnumSet<javax.servlet.SessionTrackingMode> getDefaultSessionTrackingModes()
           
 int getEffectiveMajorVersion()
           
 int getEffectiveMinorVersion()
           
 java.util.EnumSet<javax.servlet.SessionTrackingMode> getEffectiveSessionTrackingModes()
           
 javax.servlet.FilterRegistration getFilterRegistration(java.lang.String filterName)
           
 java.util.Map<java.lang.String,javax.servlet.FilterRegistration> getFilterRegistrations()
           
 java.lang.String getInitParameter(java.lang.String name)
           
 java.util.Enumeration getInitParameterNames()
           
 javax.servlet.descriptor.JspConfigDescriptor getJspConfigDescriptor()
           
 int getMajorVersion()
           
 java.lang.String getMimeType(java.lang.String file)
           
 int getMinorVersion()
           
 javax.servlet.RequestDispatcher getNamedDispatcher(java.lang.String name)
           
 java.lang.String getRealPath(java.lang.String path)
           
 javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String path)
           
 java.net.URL getResource(java.lang.String path)
           
 java.io.InputStream getResourceAsStream(java.lang.String path)
           
 java.util.Set getResourcePaths(java.lang.String path)
           
 java.lang.String getServerInfo()
           
 javax.servlet.Servlet getServlet(java.lang.String name)
           
 java.lang.String getServletContextName()
           
 java.util.Enumeration getServletNames()
           
 javax.servlet.ServletRegistration getServletRegistration(java.lang.String servletName)
           
 java.util.Map<java.lang.String,javax.servlet.ServletRegistration> getServletRegistrations()
           
 java.util.Enumeration getServlets()
           
 javax.servlet.SessionCookieConfig getSessionCookieConfig()
           
 void log(java.lang.Exception exception, java.lang.String message)
           
 void log(java.lang.String message)
           
 void log(java.lang.String message, java.lang.Throwable throwable)
           
 void removeAttribute(java.lang.String name)
           
 void setAttribute(java.lang.String name, java.lang.Object value)
           
 boolean setInitParameter(java.lang.String name, java.lang.String value)
           
 void setSessionCookieConfig(javax.servlet.SessionCookieConfig sessionCookieConfig)
           
 void setSessionTrackingModes(java.util.EnumSet<javax.servlet.SessionTrackingMode> sessionTrackingModes)
           
 void setSessionTrackingModes(java.util.Set<javax.servlet.SessionTrackingMode> sessionTrackingModes)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OSGiServletContext

public OSGiServletContext(javax.servlet.ServletContext delegate,
                          org.osgi.service.http.HttpContext httpContext)
Method Detail

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Specified by:
getAttribute in interface javax.servlet.ServletContext

getAttributeNames

public java.util.Enumeration getAttributeNames()
Specified by:
getAttributeNames in interface javax.servlet.ServletContext

getContextPath

public java.lang.String getContextPath()
Specified by:
getContextPath in interface javax.servlet.ServletContext

getContext

public javax.servlet.ServletContext getContext(java.lang.String uri)
Specified by:
getContext in interface javax.servlet.ServletContext

getInitParameter

public java.lang.String getInitParameter(java.lang.String name)
Specified by:
getInitParameter in interface javax.servlet.ServletContext

getInitParameterNames

public java.util.Enumeration getInitParameterNames()
Specified by:
getInitParameterNames in interface javax.servlet.ServletContext

getMajorVersion

public int getMajorVersion()
Specified by:
getMajorVersion in interface javax.servlet.ServletContext

getMinorVersion

public int getMinorVersion()
Specified by:
getMinorVersion in interface javax.servlet.ServletContext

getEffectiveMajorVersion

public int getEffectiveMajorVersion()
Specified by:
getEffectiveMajorVersion in interface javax.servlet.ServletContext

getEffectiveMinorVersion

public int getEffectiveMinorVersion()
Specified by:
getEffectiveMinorVersion in interface javax.servlet.ServletContext

getMimeType

public java.lang.String getMimeType(java.lang.String file)
Specified by:
getMimeType in interface javax.servlet.ServletContext

getNamedDispatcher

public javax.servlet.RequestDispatcher getNamedDispatcher(java.lang.String name)
Specified by:
getNamedDispatcher in interface javax.servlet.ServletContext

getRealPath

public java.lang.String getRealPath(java.lang.String path)
Specified by:
getRealPath in interface javax.servlet.ServletContext

getRequestDispatcher

public javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String path)
Specified by:
getRequestDispatcher in interface javax.servlet.ServletContext

getResource

public java.net.URL getResource(java.lang.String path)
                         throws java.net.MalformedURLException
Specified by:
getResource in interface javax.servlet.ServletContext
Throws:
java.net.MalformedURLException

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String path)
Specified by:
getResourceAsStream in interface javax.servlet.ServletContext

getResourcePaths

public java.util.Set getResourcePaths(java.lang.String path)
Specified by:
getResourcePaths in interface javax.servlet.ServletContext

getServerInfo

public java.lang.String getServerInfo()
Specified by:
getServerInfo in interface javax.servlet.ServletContext

getServlet

public javax.servlet.Servlet getServlet(java.lang.String name)
                                 throws javax.servlet.ServletException
Specified by:
getServlet in interface javax.servlet.ServletContext
Throws:
javax.servlet.ServletException

getServletContextName

public java.lang.String getServletContextName()
Specified by:
getServletContextName in interface javax.servlet.ServletContext

getServletNames

public java.util.Enumeration getServletNames()
Specified by:
getServletNames in interface javax.servlet.ServletContext

getServlets

public java.util.Enumeration getServlets()
Specified by:
getServlets in interface javax.servlet.ServletContext

log

public void log(java.lang.String message)
Specified by:
log in interface javax.servlet.ServletContext

log

public void log(java.lang.Exception exception,
                java.lang.String message)
Specified by:
log in interface javax.servlet.ServletContext

log

public void log(java.lang.String message,
                java.lang.Throwable throwable)
Specified by:
log in interface javax.servlet.ServletContext

removeAttribute

public void removeAttribute(java.lang.String name)
Specified by:
removeAttribute in interface javax.servlet.ServletContext

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Specified by:
setAttribute in interface javax.servlet.ServletContext

addServlet

public javax.servlet.ServletRegistration.Dynamic addServlet(java.lang.String servletName,
                                                            java.lang.String className)
Specified by:
addServlet in interface javax.servlet.ServletContext

addServletMapping

public void addServletMapping(java.lang.String servletName,
                              java.lang.String[] urlPatterns)

addFilter

public javax.servlet.FilterRegistration.Dynamic addFilter(java.lang.String filterName,
                                                          java.lang.String className)
Specified by:
addFilter in interface javax.servlet.ServletContext

addFilterMappingForServletNames

public void addFilterMappingForServletNames(java.lang.String filterName,
                                            java.util.EnumSet<javax.servlet.DispatcherType> dispatcherTypes,
                                            boolean isMatchAfter,
                                            java.lang.String... servletNames)

addFilterMappingForUrlPatterns

public void addFilterMappingForUrlPatterns(java.lang.String filterName,
                                           java.util.EnumSet<javax.servlet.DispatcherType> dispatcherTypes,
                                           boolean isMatchAfter,
                                           java.lang.String... urlPatterns)

setSessionCookieConfig

public void setSessionCookieConfig(javax.servlet.SessionCookieConfig sessionCookieConfig)

getSessionCookieConfig

public javax.servlet.SessionCookieConfig getSessionCookieConfig()
Specified by:
getSessionCookieConfig in interface javax.servlet.ServletContext

setSessionTrackingModes

public void setSessionTrackingModes(java.util.EnumSet<javax.servlet.SessionTrackingMode> sessionTrackingModes)

getDefaultSessionTrackingModes

public java.util.EnumSet<javax.servlet.SessionTrackingMode> getDefaultSessionTrackingModes()
Specified by:
getDefaultSessionTrackingModes in interface javax.servlet.ServletContext

getEffectiveSessionTrackingModes

public java.util.EnumSet<javax.servlet.SessionTrackingMode> getEffectiveSessionTrackingModes()
Specified by:
getEffectiveSessionTrackingModes in interface javax.servlet.ServletContext

setInitParameter

public boolean setInitParameter(java.lang.String name,
                                java.lang.String value)
Specified by:
setInitParameter in interface javax.servlet.ServletContext

addServlet

public javax.servlet.ServletRegistration.Dynamic addServlet(java.lang.String servletName,
                                                            java.lang.Class<? extends javax.servlet.Servlet> servletClass)
Specified by:
addServlet in interface javax.servlet.ServletContext

getServletRegistration

public javax.servlet.ServletRegistration getServletRegistration(java.lang.String servletName)
Specified by:
getServletRegistration in interface javax.servlet.ServletContext

getServletRegistrations

public java.util.Map<java.lang.String,javax.servlet.ServletRegistration> getServletRegistrations()
Specified by:
getServletRegistrations in interface javax.servlet.ServletContext

addFilter

public javax.servlet.FilterRegistration.Dynamic addFilter(java.lang.String filterName,
                                                          java.lang.Class<? extends javax.servlet.Filter> filterClass)
Specified by:
addFilter in interface javax.servlet.ServletContext

getFilterRegistration

public javax.servlet.FilterRegistration getFilterRegistration(java.lang.String filterName)
Specified by:
getFilterRegistration in interface javax.servlet.ServletContext

getFilterRegistrations

public java.util.Map<java.lang.String,javax.servlet.FilterRegistration> getFilterRegistrations()
Specified by:
getFilterRegistrations in interface javax.servlet.ServletContext

addServlet

public javax.servlet.ServletRegistration.Dynamic addServlet(java.lang.String servletName,
                                                            javax.servlet.Servlet servlet)
Specified by:
addServlet in interface javax.servlet.ServletContext

addFilter

public javax.servlet.FilterRegistration.Dynamic addFilter(java.lang.String filterName,
                                                          javax.servlet.Filter filter)
Specified by:
addFilter in interface javax.servlet.ServletContext

setSessionTrackingModes

public void setSessionTrackingModes(java.util.Set<javax.servlet.SessionTrackingMode> sessionTrackingModes)
Specified by:
setSessionTrackingModes in interface javax.servlet.ServletContext

createServlet

public <T extends javax.servlet.Servlet> T createServlet(java.lang.Class<T> c)
                                              throws javax.servlet.ServletException
Specified by:
createServlet in interface javax.servlet.ServletContext
Throws:
javax.servlet.ServletException

createFilter

public <T extends javax.servlet.Filter> T createFilter(java.lang.Class<T> c)
                                            throws javax.servlet.ServletException
Specified by:
createFilter in interface javax.servlet.ServletContext
Throws:
javax.servlet.ServletException

addListener

public void addListener(java.lang.String className)
Specified by:
addListener in interface javax.servlet.ServletContext

addListener

public <T extends java.util.EventListener> void addListener(T t)
Specified by:
addListener in interface javax.servlet.ServletContext

addListener

public void addListener(java.lang.Class<? extends java.util.EventListener> listenerClass)
Specified by:
addListener in interface javax.servlet.ServletContext

createListener

public <T extends java.util.EventListener> T createListener(java.lang.Class<T> c)
                                                 throws javax.servlet.ServletException
Specified by:
createListener in interface javax.servlet.ServletContext
Throws:
javax.servlet.ServletException

getJspConfigDescriptor

public javax.servlet.descriptor.JspConfigDescriptor getJspConfigDescriptor()
Specified by:
getJspConfigDescriptor in interface javax.servlet.ServletContext

getClassLoader

public java.lang.ClassLoader getClassLoader()
Specified by:
getClassLoader in interface javax.servlet.ServletContext

declareRoles

public void declareRoles(java.lang.String... roleNames)
Specified by:
declareRoles in interface javax.servlet.ServletContext


Copyright © 2011 GlassFish Community. All Rights Reserved.