djencks     2004/12/22 03:29:54

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

  slight update of role auto-mapping to deploy time, but it doesn't work at the 
moment
  
  Revision  Changes    Path
  1.15      +19 -14    
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.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- OpenEJBModuleBuilder.java 6 Dec 2004 06:32:33 -0000       1.14
  +++ OpenEJBModuleBuilder.java 22 Dec 2004 08:29:54 -0000      1.15
  @@ -53,10 +53,11 @@
   import java.net.URI;
   import java.net.URISyntaxException;
   import java.net.URL;
  +import java.util.Collections;
   import java.util.HashMap;
  +import java.util.HashSet;
   import java.util.Map;
   import java.util.Set;
  -import java.util.HashSet;
   import java.util.jar.JarFile;
   import javax.management.MalformedObjectNameException;
   import javax.management.ObjectName;
  @@ -77,21 +78,20 @@
   import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
   import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
   import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
  +import org.apache.geronimo.kernel.Kernel;
   import org.apache.geronimo.schema.SchemaConversionUtils;
   import org.apache.geronimo.security.deploy.Security;
   import org.apache.geronimo.security.deployment.SecurityBuilder;
  -import org.apache.geronimo.security.SecurityService;
   import org.apache.geronimo.xbeans.geronimo.naming.GerResourceLocatorType;
   import org.apache.geronimo.xbeans.j2ee.EjbJarDocument;
   import org.apache.geronimo.xbeans.j2ee.EjbJarType;
   import org.apache.geronimo.xbeans.j2ee.EnterpriseBeansType;
   import org.apache.geronimo.xbeans.j2ee.SecurityRoleType;
  -
   import org.apache.xmlbeans.XmlException;
   import org.apache.xmlbeans.XmlObject;
   import org.openejb.EJBModuleImpl;
  -import org.openejb.corba.compiler.SkeletonGenerator;
   import org.openejb.corba.compiler.CompilerException;
  +import org.openejb.corba.compiler.SkeletonGenerator;
   import org.openejb.proxy.EJBProxyFactory;
   import org.openejb.proxy.ProxyObjectFactory;
   import org.openejb.proxy.ProxyRefAddr;
  @@ -117,7 +117,6 @@
    */
   public class OpenEJBModuleBuilder implements ModuleBuilder, 
EJBReferenceBuilder {
   
  -    private final SecurityService securityService;
       private final URI defaultParentId;
       private final CMPEntityBuilder cmpEntityBuilder;
       private final SessionBuilder sessionBuilder;
  @@ -125,9 +124,9 @@
       private final MdbBuilder mdbBuilder;
       private final ContainerSecurityBuilder containerSecurityBuilder;
       private final SkeletonGenerator skeletonGenerator;
  +    private final Kernel kernel;
   
  -    public OpenEJBModuleBuilder(SecurityService securityService, URI 
defaultParentId, SkeletonGenerator skeletonGenerator) {
  -        this.securityService = securityService;
  +    public OpenEJBModuleBuilder(URI defaultParentId, SkeletonGenerator 
skeletonGenerator, Kernel kernel) {
           this.defaultParentId = defaultParentId;
           this.skeletonGenerator = skeletonGenerator;
           this.containerSecurityBuilder = new ContainerSecurityBuilder(this);
  @@ -135,6 +134,7 @@
           this.sessionBuilder = new SessionBuilder(this);
           this.entityBuilder = new EntityBuilder(this);
           this.mdbBuilder = new MdbBuilder(this);
  +        this.kernel = kernel;
       }
   
       public ContainerSecurityBuilder getSecurityBuilder() {
  @@ -441,9 +441,14 @@
           /**
            * Build the security configuration.  Attempt to auto generate role 
mappings.
            */
  -        Security security = 
SecurityBuilder.buildSecurityConfig(openejbEjbJar.getSecurity(), 
collectRoleNames(ejbJar));
  -        //todo: needs to take login domain name into account, perhaps should 
be an element on the security DD?
  -        if (security != null) security.autoGenerate(securityService);
  +        Security security = null;
  +        //TODO fix this!
  +        Map localSecurityRealms = new HashMap();
  +        try {
  +            security = 
SecurityBuilder.buildSecurityConfig(Collections.EMPTY_SET, 
openejbEjbJar.getSecurity(), collectRoleNames(ejbJar), localSecurityRealms, 
kernel);
  +        } catch (MalformedObjectNameException e) {
  +            throw new DeploymentException("Cound not automap roles", e);
  +        }
   
           EnterpriseBeansType enterpriseBeans = ejbJar.getEnterpriseBeans();
   
  @@ -551,13 +556,13 @@
   
       static {
           GBeanInfoBuilder infoBuilder = new 
GBeanInfoBuilder(OpenEJBModuleBuilder.class);
  -        infoBuilder.addReference("SecurityService", SecurityService.class);
           infoBuilder.addAttribute("defaultParentId", URI.class, true);
           infoBuilder.addReference("SkeletonGenerator", 
SkeletonGenerator.class);
  -        infoBuilder.addInterface(ModuleBuilder.class);
  +        infoBuilder.addAttribute("kernel", Kernel.class, false);
  +         infoBuilder.addInterface(ModuleBuilder.class);
           infoBuilder.addInterface(EJBReferenceBuilder.class);
   
  -        infoBuilder.setConstructor(new String[] {"SecurityService", 
"defaultParentId", "SkeletonGenerator"});
  +        infoBuilder.setConstructor(new String[] {"defaultParentId", 
"SkeletonGenerator", "kernel"});
           GBEAN_INFO = infoBuilder.getBeanInfo();
       }
   
  
  
  

Reply via email to