gdamour     2005/10/15 03:44:54

  Modified:    modules/openejb-builder/src/java/org/openejb/deployment
                        OpenEJBModuleBuilder.java
  Log:

  GERONIMO-1075 Configuration classloaders should support an inverse 
classloading delegation model.
  
  A configuration supports now the following attribute and elements:
  * inverseClassloading: indicate if the standard class loading delegation model
  is to be reversed for this configuration;
  * hidden-classes: filter of classes hidden from the configuration; and
  * non-overridable-classes: filter of classes, which cannot be defined by the
  configuration.
  
  Revision  Changes    Path
  1.59      +12 -1     
openejb/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java
  
  Index: OpenEJBModuleBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- OpenEJBModuleBuilder.java 1 Oct 2005 08:44:09 -0000       1.58
  +++ OpenEJBModuleBuilder.java 15 Oct 2005 07:44:53 -0000      1.59
  @@ -73,6 +73,7 @@
   import org.apache.geronimo.deployment.service.ServiceConfigBuilder;
   import org.apache.geronimo.deployment.util.DeploymentUtil;
   import org.apache.geronimo.deployment.xmlbeans.XmlBeansUtil;
  +import org.apache.geronimo.deployment.xbeans.ClassFilterType;
   import org.apache.geronimo.deployment.xbeans.DependencyType;
   import org.apache.geronimo.deployment.xbeans.GbeanType;
   import org.apache.geronimo.gbean.GBeanData;
  @@ -307,6 +308,16 @@
           OpenejbOpenejbJarType openEjbJar = (OpenejbOpenejbJarType) 
module.getVendorDD();
           DependencyType[] dependencies = openEjbJar.getDependencyArray();
           ServiceConfigBuilder.addDependencies(earContext, dependencies, 
repository);
  +
  +        if (openEjbJar.isSetInverseClassloading()) {
  +            
earContext.setInverseClassloading(openEjbJar.getInverseClassloading());
  +        }
  +        
  +        ClassFilterType[] filters = openEjbJar.getHiddenClassesArray();
  +        ServiceConfigBuilder.addHiddenClasses(earContext, filters);
  +        
  +        filters = openEjbJar.getNonOverridableClassesArray();
  +        ServiceConfigBuilder.addNonOverridableClasses(earContext, filters);
       }
   
       public void initContext(EARContext earContext, Module module, 
ClassLoader cl) throws DeploymentException {
  
  
  

Reply via email to