org.glassfish.osgihttp
Class OSGiServletContext

java.lang.Object
  extended by org.apache.catalina.core.ContainerBase
      extended by org.apache.catalina.core.StandardContext
          extended by com.sun.enterprise.web.pwc.PwcWebModule
              extended by com.sun.enterprise.web.WebModule
                  extended by com.sun.enterprise.web.ContextFacade
                      extended by org.glassfish.osgihttp.OSGiServletContext
All Implemented Interfaces:
Serializable, MBeanRegistration, javax.servlet.ServletContext, org.apache.catalina.Container, org.apache.catalina.Context, org.apache.catalina.Lifecycle, org.apache.catalina.Pipeline

public class OSGiServletContext
extends com.sun.enterprise.web.ContextFacade

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
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.catalina.core.StandardContext
org.apache.catalina.core.StandardContext.RestrictedServletContextListener
 
Nested classes/interfaces inherited from class org.apache.catalina.core.ContainerBase
org.apache.catalina.core.ContainerBase.ContainerBackgroundProcessor, org.apache.catalina.core.ContainerBase.PrivilegedAddChild
 
Field Summary
 
Fields inherited from class com.sun.enterprise.web.ContextFacade
wrappers
 
Fields inherited from class com.sun.enterprise.web.WebModule
cachedFinds, rb
 
Fields inherited from class com.sun.enterprise.web.pwc.PwcWebModule
_id, defaultCharset, formHintField, webSessionCookieConfig
 
Fields inherited from class org.apache.catalina.core.StandardContext
allowLinking, cacheMaxSize, cacheTTL, caseSensitive, caseSensitiveMapping, contextListeners, directoryListing, isJsfApplication, servletRegisMap, urlEncoder
 
Fields inherited from class org.apache.catalina.core.ContainerBase
backgroundProcessorDelay, checkIfRequestIsSecure, children, controller, debug, domain, hasCustomPipeline, initialized, lifecycle, listeners, loader, manager, mserver, name, notifyContainerListeners, oname, parent, parentClassLoader, pipeline, readLock, realm, resources, sm, started, suffix, support, type, writeLock
 
Fields inherited from interface javax.servlet.ServletContext
ORDERED_LIBS, TEMPDIR
 
Fields inherited from interface org.apache.catalina.Context
RELOAD_EVENT
 
Fields inherited from interface org.apache.catalina.Container
ADD_CHILD_EVENT, ADD_MAPPER_EVENT, ADD_VALVE_EVENT, REMOVE_CHILD_EVENT, REMOVE_MAPPER_EVENT, REMOVE_VALVE_EVENT
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, INIT_EVENT, START_EVENT, STOP_EVENT
 
Constructor Summary
OSGiServletContext(com.sun.enterprise.web.WebModule delegate, org.osgi.service.http.HttpContext httpContext)
           
 
Method Summary
 Object getAttribute(String name)
           
 Enumeration getAttributeNames()
           
 String getMimeType(String file)
           
 URL getResource(String path)
           
 InputStream getResourceAsStream(String path)
           
 void removeAttribute(String name)
           
 void setAttribute(String name, Object value)
           
 
Methods inherited from class com.sun.enterprise.web.ContextFacade
addFilter, addFilter, addFilter, addListener, addListener, addListener, addServlet, addServlet, addServlet, addServletBefore, addServletMapping, createDynamicServletRegistrationImpl, createFilter, createListener, createServlet, createServletRegistrationImpl, declareRoles, getAddedServlets, getClassLoader, getContext, getContextPath, getContextRoot, getDefaultSessionTrackingModes, getDefaultWebXml, getDocRoot, getEffectiveMajorVersion, getEffectiveMinorVersion, getEffectiveSessionTrackingModes, getFilterRegistration, getFilterRegistrations, getInitParameter, getInitParameterNames, getJspConfigDescriptor, getMajorVersion, getMinorVersion, getNamedDispatcher, getPath, getRealPath, getRequestDispatcher, getResourcePaths, getSecurityConfig, getServerInfo, getServlet, getServletContextName, getServletMappings, getServletNames, getServletRegistration, getServletRegistrations, getServlets, getSessionCookieConfig, getUnwrappedContext, isDirectoryListing, log, log, log, setDefaultWebXml, setDirectoryListing, setInitParameter, setPath, setSecurityConfig, setSessionTrackingModes, setUnwrappedContext
 
Methods inherited from class com.sun.enterprise.web.WebModule
addAdHocValve, addCatalinaListener, addValve, addValve, afterServiceEvent, beforeServiceEvent, callServletContainerInitializers, configureCatalinaProperties, configureCatalinaProperties, configureSessionSettings, configureValves, contextListenerStart, createFilterInstance, createListenerInstance, createObjectInputStream, createObjectOutputStream, createServletInstance, getAdHocPipeline, getAdHocServletName, getBean, getCachedFindOperation, getComponentId, getFileEncoding, getIasWebAppConfigBean, getLocaleCharsetMap, getMonitoringNodeName, getServerContext, getTypes, getWebBundleDescriptor, getWebContainer, getWebModuleConfig, hasAdHocPaths, hasAdHocSubtrees, hasBeenXmlConfigured, hasLocaleToCharsetMapping, loadListener, mapLocalesToCharset, removeAdHocValve, removePatternFromServlet, servletDestroyedEvent, servletInitializedEvent, sessionActivatedEndEvent, sessionActivatedStartEvent, sessionCreatedEvent, sessionDestroyedEvent, sessionExpiredEvent, sessionPassivatedEndEvent, sessionPassivatedStartEvent, sessionPersistedEndEvent, sessionPersistedStartEvent, sessionRejectedEvent, setBean, setCachedFindOperation, setFileEncoding, setI18nInfo, setIasWebAppConfigBean, setParent, setRealm, setWebContainer, setWebModuleConfig, setXmlConfigured, start, stop, webModuleStartedEvent, webModuleStoppedEvent
 
Methods inherited from class com.sun.enterprise.web.pwc.PwcWebModule
createWrapper, getCacheControls, getDefaultCharset, getEncodeCookies, getEndpointAddresses, getFormHintField, getHasWebServices, getID, getModuleName, getResponseCTForHeaders, getSessionCookieConfigFromSunWebXml, getSTMPoolSize, hasWebXml, setCacheControls, setContextRoot, setEncodeCookies, setEndpointAddresses, setHasWebServices, setHasWebXml, setID, setModuleName, setResponseCTForHeaders, setSessionCookieConfigFromSunWebXml, setSTMPoolSize
 
Methods inherited from class org.apache.catalina.core.StandardContext
addAlternateDocBase, addApplicationListener, addApplicationParameter, addChild, addChild, addConstraint, addEjb, addEnvironment, addEnvironment, addErrorPage, addFilterDef, addFilterDef, addFilterMap, addFilterMap, addFilterMaps, addInstanceListener, addInstanceListener, addJspMapping, addLocaleEncodingMappingParameter, addLocalEjb, addMessageDestination, addMessageDestinationRef, addMimeMapping, addParameter, addResource, addResource, addResourceEnvRef, addResourceLink, addResourceLink, addResourceParams, addRoleMapping, addSecurityRole, addServlet, addServlet, addServletMapping, addServletMapping, addServletMapping, addWatchedResource, addWelcomeFile, addWrapperLifecycle, addWrapperListener, adjustURLPattern, alternateResourcesStart, alternateResourcesStop, backgroundProcess, create, createLoader, createObjectName, destroy, engineBase, filterStart, filterStop, findApplicationParameters, findEjb, findEjbs, findEnvironment, findEnvironments, findErrorPage, findErrorPage, findFilterConfig, findFilterDef, findFilterDefs, findFilterMaps, findInstanceListeners, findLocalEjb, findLocalEjbs, findMappingObject, findMessageDestination, findMessageDestinationRef, findMessageDestinationRefs, findMessageDestinations, findMimeMapping, findMimeMappings, findParameter, findParameters, findResource, findResourceEnvRef, findResourceEnvRefs, findResourceLink, findResourceLinks, findResources, findRoleMapping, findServletMapping, findServletMappings, findStaticResources, findStatusPage, findStatusPages, findWelcomeFile, findWelcomeFiles, findWrapperLifecycles, findWrapperListeners, fireRequestDestroyedEvent, fireRequestInitializedEvent, getAllowRelativeRedirect, getAltDDName, getAlternateDocBases, getApplicationEventListeners, getAuditors, getAuthenticator, getAvailable, getCacheMaxSize, getCacheTTL, getCharsetMapper, getCharsetMapperClass, getCompilerClasspath, getConfigFile, getConfigured, getConstraints, getCookies, getCrossContext, getDefaultConfigFile, getDefaultErrorPage, getDelegate, getDisplayName, getDistributable, getDocBase, getEncodedPath, getEngineName, getEnvironments, getHostname, getInfo, getJ2EEApplication, getJ2EEServer, getJvmRoute, getLoginConfig, getManagerChecksFrequency, getMapper, getNamingContextName, getNamingResources, getOriginalDocBase, getOverride, getParentName, getPaused, getPrivileged, getPublicId, getReloadable, getResourceLinks, getResourceNames, getReuseSessionID, getServletContext, getServletNameFilterMappings, getSessionCookieName, getSessionListeners, getSessionParameterName, getSessionTimeout, getStartTimeMillis, getStartupTime, getState, getStaticResources, getTldNamespaceAware, getTldScanTime, getTldValidation, getUnpackWAR, getUrlPatternFilterMappings, getWatchedResources, getWelcomeFiles, getWorkDir, getWorkPath, getXmlNamespaceAware, getXmlValidation, hasConstraints, hasFilter, hasSecurityRole, hasServlet, hasWatchedResources, init, isAllowLinking, isCachingAllowed, isCaseSensitive, isCaseSensitiveMapping, isEmbedded, isEnableURLRewriting, isEventProvider, isFilesystemBased, isJsfApplication, isReload, isReplaceWelcomeFiles, isSecurePagesWithPragma, isServlet22, isSessionTimeoutOveridden, isStatisticsProvider, isUseMyFaces, isUseNaming, loadOnStartup, managerStart, managerStop, preDeregister, preRegister, reload, removeApplicationParameter, removeChild, removeConstraints, removeEjb, removeEnvironment, removeErrorPages, removeFilterDef, removeFilterMaps, removeInstanceListener, removeLocalEjb, removeMessageDestination, removeMessageDestinationRef, removeMimeMapping, removeParameter, removeResource, removeResourceEnvRef, removeResourceLink, removeRoleMapping, removeSecurityRoles, removeServletMapping, removeWatchedResources, removeWelcomeFiles, removeWrapperLifecycles, removeWrapperListeners, resourcesStart, resourcesStop, restrictedSetPipeline, setAllowLinking, setAllowRelativeRedirect, setAltDDName, setAuditors, setAvailable, setCacheMaxSize, setCacheTTL, setCachingAllowed, setCaseSensitive, setCaseSensitiveMapping, setCharsetMapper, setCharsetMapperClass, setCompilerClasspath, setConfigFile, setConfigured, setCookies, setCrossContext, setDelegate, setDisplayName, setDistributable, setDocBase, setEffectiveMajorVersion, setEffectiveMinorVersion, setEmbedded, setEnableURLRewriting, setEngineName, setJ2EEApplication, setJ2EEServer, setJspConfigDescriptor, setJvmRoute, setLoginConfig, setManagerChecksFrequency, setName, setNamingResources, setOrderedLibs, setOriginalDocBase, setOverride, setPrivileged, setPublicId, setReload, setReloadable, setReplaceWelcomeFiles, setResources, setReuseSessionID, setSecurePagesWithPragma, setServletContainerInitializerInterestList, setSessionTimeout, setStartupTime, setTldNamespaceAware, setTldScanTime, setTldValidation, setUnpackWAR, setUseMyFaces, setUseNaming, setWorkDir, setXmlNamespaceAware, setXmlValidation, startRecursive, stop, toString, updateObjectName, validateURLPattern
 
Methods inherited from class org.apache.catalina.core.ContainerBase
addContainerListener, addLifecycleListener, addPropertyChangeListener, addValve, addValve, findChild, findChildren, findContainerListeners, findLifecycleListeners, fireContainerEvent, getBackgroundProcessorDelay, getBasic, getChildren, getContainerSuffix, getDebug, getDomain, getJmxName, getJSR77Suffix, getLoader, getLogger, getManager, getMappingObject, getName, getObjectName, getParent, getParentClassLoader, getPipeline, getRealm, getResources, getType, getValveObjectNames, getValves, hasCustomPipeline, hasNonBasicValves, invoke, isCheckIfRequestIsSecure, logName, postDeregister, postRegister, removeContainerListener, removeLifecycleListener, removeLifecycleListeners, removePropertyChangeListener, removeValve, setBackgroundProcessorDelay, setBasic, setCheckIfRequestIsSecure, setDebug, setDomain, setLoader, setLogger, setManager, setParentClassLoader, startChildren, threadStart, threadStop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.catalina.Container
addContainerListener, addPropertyChangeListener, findChild, findChildren, findContainerListeners, fireContainerEvent, getBackgroundProcessorDelay, getLoader, getLogger, getManager, getMappingObject, getName, getParent, getParentClassLoader, getPipeline, getRealm, getResources, hasCustomPipeline, invoke, isCheckIfRequestIsSecure, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCheckIfRequestIsSecure, setLoader, setLogger, setManager, setParentClassLoader
 

Constructor Detail

OSGiServletContext

public OSGiServletContext(com.sun.enterprise.web.WebModule delegate,
                          org.osgi.service.http.HttpContext httpContext)
Method Detail

getAttribute

public Object getAttribute(String name)
Specified by:
getAttribute in interface javax.servlet.ServletContext
Overrides:
getAttribute in class com.sun.enterprise.web.ContextFacade

setAttribute

public void setAttribute(String name,
                         Object value)
Specified by:
setAttribute in interface javax.servlet.ServletContext
Overrides:
setAttribute in class com.sun.enterprise.web.ContextFacade

getAttributeNames

public Enumeration getAttributeNames()
Specified by:
getAttributeNames in interface javax.servlet.ServletContext
Overrides:
getAttributeNames in class com.sun.enterprise.web.ContextFacade

removeAttribute

public void removeAttribute(String name)
Specified by:
removeAttribute in interface javax.servlet.ServletContext
Overrides:
removeAttribute in class com.sun.enterprise.web.ContextFacade

getMimeType

public String getMimeType(String file)
Specified by:
getMimeType in interface javax.servlet.ServletContext
Overrides:
getMimeType in class com.sun.enterprise.web.ContextFacade

getResource

public URL getResource(String path)
                throws MalformedURLException
Specified by:
getResource in interface javax.servlet.ServletContext
Overrides:
getResource in class com.sun.enterprise.web.ContextFacade
Throws:
MalformedURLException

getResourceAsStream

public InputStream getResourceAsStream(String path)
Specified by:
getResourceAsStream in interface javax.servlet.ServletContext
Overrides:
getResourceAsStream in class com.sun.enterprise.web.ContextFacade


Copyright © 2012 GlassFish Community. All Rights Reserved.