org.apache.geronimo.web25.deployment
Class AbstractWebModuleBuilder

java.lang.Object
  extended by org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder
All Implemented Interfaces:
ModuleBuilder
Direct Known Subclasses:
JettyModuleBuilder, TomcatModuleBuilder

public abstract class AbstractWebModuleBuilder
extends Object
implements ModuleBuilder


Field Summary
protected static AbstractNameQuery ENTITY_BEAN_PATTERN
           
protected  Kernel kernel
           
protected static AbstractNameQuery MANAGED_CONNECTION_FACTORY_PATTERN
           
protected  Collection<ModuleBuilderExtension> moduleBuilderExtensions
           
protected  NamingBuilder namingBuilders
           
protected  ResourceEnvironmentSetter resourceEnvironmentSetter
           
protected  NamespaceDrivenBuilderCollection securityBuilders
           
protected  NamespaceDrivenBuilderCollection serviceBuilders
           
protected static AbstractNameQuery STATEFUL_SESSION_BEAN_PATTERN
           
protected static AbstractNameQuery STATELESS_SESSION_BEAN_PATTERN
           
protected  Collection<WebServiceBuilder> webServiceBuilder
           
 
Constructor Summary
protected AbstractWebModuleBuilder(Kernel kernel, Collection securityBuilders, Collection serviceBuilders, NamingBuilder namingBuilders, ResourceEnvironmentSetter resourceEnvironmentSetter, Collection<WebServiceBuilder> webServiceBuilder, Collection<ModuleBuilderExtension> moduleBuilderExtensions)
           
 
Method Summary
protected  void addGBeanDependencies(EARContext earContext, GBeanData webModuleData)
           
protected  void addPermissionToRole(String roleName, Permission permission, Map<String,PermissionCollection> rolePermissions)
           
protected  void addUnmappedJSPPermissions(Set<String> securityRoles, Map<String,PermissionCollection> rolePermissions)
           
protected  void basicInitContext(EARContext earContext, Module module, org.apache.xmlbeans.XmlObject gerWebApp, boolean hasSecurityRealmName)
           
protected  Map<String,String> buildServletNameToPathMap(org.apache.geronimo.xbeans.javaee.WebAppType webApp, String contextRoot)
          Some servlets will have multiple url patterns.
protected  ComponentPermissions buildSpecSecurityConfig(org.apache.geronimo.xbeans.javaee.WebAppType webApp, Set<String> securityRoles, Map<String,PermissionCollection> rolePermissions)
           
protected static void check(org.apache.geronimo.xbeans.javaee.WebAppType webApp)
           
protected static void checkString(String pattern)
           
protected static Set<String> collectRoleNames(org.apache.geronimo.xbeans.javaee.WebAppType webApp)
           
protected  void configureBasicWebModuleAttributes(org.apache.geronimo.xbeans.javaee.WebAppType webApp, org.apache.xmlbeans.XmlObject vendorPlan, EARContext moduleContext, EARContext earContext, WebModule webModule, GBeanData webModuleData)
           
protected  org.apache.geronimo.xbeans.javaee.WebAppDocument convertToServletSchema(org.apache.xmlbeans.XmlObject xmlObject)
           
 Module createModule(File plan, JarFile moduleFile, Naming naming, ModuleIDBuilder idBuilder)
           
protected abstract  Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, boolean standAlone, String contextRoot, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder)
           
 Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment environment, Object moduleContextInfo, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder)
           
protected  org.apache.xbean.finder.ClassFinder createWebAppClassFinder(org.apache.geronimo.xbeans.javaee.WebAppType webApp, WebModule webModule)
           
protected  String determineDefaultContextRoot(org.apache.geronimo.xbeans.javaee.WebAppType webApp, boolean isStandAlone, JarFile moduleFile, String targetPath)
           
 NamingBuilder getNamingBuilders()
           
 void installModule(JarFile earFile, EARContext earContext, Module module, Collection configurationStores, ConfigurationStore targetConfigurationStore, Collection repositories)
           
protected  void processRoleRefPermissions(org.apache.geronimo.xbeans.javaee.ServletType servletType, Set<String> securityRoles, Map<String,PermissionCollection> rolePermissions)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.geronimo.j2ee.deployment.ModuleBuilder
addGBeans, getSchemaNamespace, initContext
 

Field Detail

MANAGED_CONNECTION_FACTORY_PATTERN

protected static final AbstractNameQuery MANAGED_CONNECTION_FACTORY_PATTERN

STATELESS_SESSION_BEAN_PATTERN

protected static final AbstractNameQuery STATELESS_SESSION_BEAN_PATTERN

STATEFUL_SESSION_BEAN_PATTERN

protected static final AbstractNameQuery STATEFUL_SESSION_BEAN_PATTERN

ENTITY_BEAN_PATTERN

protected static final AbstractNameQuery ENTITY_BEAN_PATTERN

kernel

protected final Kernel kernel

securityBuilders

protected final NamespaceDrivenBuilderCollection securityBuilders

serviceBuilders

protected final NamespaceDrivenBuilderCollection serviceBuilders

resourceEnvironmentSetter

protected final ResourceEnvironmentSetter resourceEnvironmentSetter

webServiceBuilder

protected final Collection<WebServiceBuilder> webServiceBuilder

namingBuilders

protected final NamingBuilder namingBuilders

moduleBuilderExtensions

protected final Collection<ModuleBuilderExtension> moduleBuilderExtensions
Constructor Detail

AbstractWebModuleBuilder

protected AbstractWebModuleBuilder(Kernel kernel,
                                   Collection securityBuilders,
                                   Collection serviceBuilders,
                                   NamingBuilder namingBuilders,
                                   ResourceEnvironmentSetter resourceEnvironmentSetter,
                                   Collection<WebServiceBuilder> webServiceBuilder,
                                   Collection<ModuleBuilderExtension> moduleBuilderExtensions)
Method Detail

getNamingBuilders

public NamingBuilder getNamingBuilders()

addGBeanDependencies

protected void addGBeanDependencies(EARContext earContext,
                                    GBeanData webModuleData)

createModule

public Module createModule(File plan,
                           JarFile moduleFile,
                           Naming naming,
                           ModuleIDBuilder idBuilder)
                    throws DeploymentException
Specified by:
createModule in interface ModuleBuilder
Throws:
DeploymentException

createModule

public Module createModule(Object plan,
                           JarFile moduleFile,
                           String targetPath,
                           URL specDDUrl,
                           Environment environment,
                           Object moduleContextInfo,
                           AbstractName earName,
                           Naming naming,
                           ModuleIDBuilder idBuilder)
                    throws DeploymentException
Specified by:
createModule in interface ModuleBuilder
Throws:
DeploymentException

createModule

protected abstract Module createModule(Object plan,
                                       JarFile moduleFile,
                                       String targetPath,
                                       URL specDDUrl,
                                       boolean standAlone,
                                       String contextRoot,
                                       AbstractName earName,
                                       Naming naming,
                                       ModuleIDBuilder idBuilder)
                                throws DeploymentException
Throws:
DeploymentException

buildServletNameToPathMap

protected Map<String,String> buildServletNameToPathMap(org.apache.geronimo.xbeans.javaee.WebAppType webApp,
                                                       String contextRoot)
Some servlets will have multiple url patterns. However, webservice servlets will only have one, which is what this method is intended for.

Parameters:
webApp - spec deployment descriptor
contextRoot - context root for web app from application.xml or geronimo plan
Returns:
map of servlet names to path mapped to them. Possibly inaccurate except for web services.

determineDefaultContextRoot

protected String determineDefaultContextRoot(org.apache.geronimo.xbeans.javaee.WebAppType webApp,
                                             boolean isStandAlone,
                                             JarFile moduleFile,
                                             String targetPath)

installModule

public void installModule(JarFile earFile,
                          EARContext earContext,
                          Module module,
                          Collection configurationStores,
                          ConfigurationStore targetConfigurationStore,
                          Collection repositories)
                   throws DeploymentException
Specified by:
installModule in interface ModuleBuilder
Throws:
DeploymentException

basicInitContext

protected void basicInitContext(EARContext earContext,
                                Module module,
                                org.apache.xmlbeans.XmlObject gerWebApp,
                                boolean hasSecurityRealmName)
                         throws DeploymentException
Throws:
DeploymentException

convertToServletSchema

protected org.apache.geronimo.xbeans.javaee.WebAppDocument convertToServletSchema(org.apache.xmlbeans.XmlObject xmlObject)
                                                                           throws org.apache.xmlbeans.XmlException
Throws:
org.apache.xmlbeans.XmlException

addUnmappedJSPPermissions

protected void addUnmappedJSPPermissions(Set<String> securityRoles,
                                         Map<String,PermissionCollection> rolePermissions)

buildSpecSecurityConfig

protected ComponentPermissions buildSpecSecurityConfig(org.apache.geronimo.xbeans.javaee.WebAppType webApp,
                                                       Set<String> securityRoles,
                                                       Map<String,PermissionCollection> rolePermissions)

addPermissionToRole

protected void addPermissionToRole(String roleName,
                                   Permission permission,
                                   Map<String,PermissionCollection> rolePermissions)

collectRoleNames

protected static Set<String> collectRoleNames(org.apache.geronimo.xbeans.javaee.WebAppType webApp)

check

protected static void check(org.apache.geronimo.xbeans.javaee.WebAppType webApp)
                     throws DeploymentException
Throws:
DeploymentException

checkString

protected static void checkString(String pattern)
                           throws DeploymentException
Throws:
DeploymentException

processRoleRefPermissions

protected void processRoleRefPermissions(org.apache.geronimo.xbeans.javaee.ServletType servletType,
                                         Set<String> securityRoles,
                                         Map<String,PermissionCollection> rolePermissions)

createWebAppClassFinder

protected org.apache.xbean.finder.ClassFinder createWebAppClassFinder(org.apache.geronimo.xbeans.javaee.WebAppType webApp,
                                                                      WebModule webModule)
                                                               throws DeploymentException
Throws:
DeploymentException

configureBasicWebModuleAttributes

protected void configureBasicWebModuleAttributes(org.apache.geronimo.xbeans.javaee.WebAppType webApp,
                                                 org.apache.xmlbeans.XmlObject vendorPlan,
                                                 EARContext moduleContext,
                                                 EARContext earContext,
                                                 WebModule webModule,
                                                 GBeanData webModuleData)
                                          throws DeploymentException
Throws:
DeploymentException


Copyright © 2003-2007 Apache Software Foundation. All Rights Reserved.