djencks     2005/05/16 20:29:27

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

  GERONIMO-648 ejb web services security
  
  Revision  Changes    Path
  1.6       +24 -8     
openejb/modules/openejb-builder/src/java/org/openejb/deployment/AxisWebServiceContainerBuilder.java
  
  Index: AxisWebServiceContainerBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/AxisWebServiceContainerBuilder.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AxisWebServiceContainerBuilder.java       15 Apr 2005 05:36:53 -0000      
1.5
  +++ AxisWebServiceContainerBuilder.java       17 May 2005 00:29:27 -0000      
1.6
  @@ -61,17 +61,16 @@
   import org.apache.geronimo.xbeans.j2ee.SessionBeanType;
   import org.openejb.server.axis.WSContainerGBean;
   import org.openejb.xbeans.ejbjar.OpenejbSessionBeanType;
  +import org.openejb.xbeans.ejbjar.OpenejbWebServiceSecurityType;
   
   public class AxisWebServiceContainerBuilder {
   
   
  -    private static final Log log = 
LogFactory.getLog(AxisWebServiceContainerBuilder.class);
  -
       /*
        * The ultimate goal of this method is to create an XFireService GBean 
that wraps the EJBContainer with
        * the corresponding sessionObjectname and is capable of being indexed 
by its WSDL address location.
        */
  -    public void addGbean(EARContext earContext, EJBModule ejbModule, 
ClassLoader cl, ObjectName sessionObjectName, ObjectName listener, 
SessionBeanType sessionBean, OpenejbSessionBeanType openejbSessionBean, 
TransactionPolicyHelper transactionPolicyHelper) throws DeploymentException {
  +    public void addGbean(EARContext earContext, EJBModule ejbModule, 
ClassLoader cl, ObjectName sessionObjectName, ObjectName listener, 
SessionBeanType sessionBean, OpenejbSessionBeanType openejbSessionBean, 
TransactionPolicyHelper transactionPolicyHelper, OpenejbWebServiceSecurityType 
webServiceSecurity) throws DeploymentException {
   
           boolean isStateless = 
"Stateless".equals(sessionBean.getSessionType().getStringValue());
           String serviceEndpointName = 
OpenEJBModuleBuilder.getJ2eeStringValue(sessionBean.getServiceEndpoint());
  @@ -83,12 +82,12 @@
   
           serviceEndpointName = serviceEndpointName.trim();
   
  -        GBeanData gBean = buildGBeanData(sessionObjectName, listener, 
ejbName, serviceEndpointName, ejbModule.getModuleFile(), cl);
  +        GBeanData gBean = buildGBeanData(sessionObjectName, listener, 
ejbName, serviceEndpointName, ejbModule.getModuleFile(), cl, 
webServiceSecurity);
   
           earContext.addGBean(gBean);
       }
   
  -    public GBeanData buildGBeanData(ObjectName sessionObjectName, ObjectName 
listener, String ejbName, String serviceEndpointName, JarFile jarFile, 
ClassLoader cl) throws DeploymentException {
  +    GBeanData buildGBeanData(ObjectName sessionObjectName, ObjectName 
listener, String ejbName, String serviceEndpointName, JarFile jarFile, 
ClassLoader cl, OpenejbWebServiceSecurityType webServiceSecurity) throws 
DeploymentException {
           ServiceInfo serviceInfo = 
AxisServiceBuilder.createServiceInfo(jarFile, ejbName, cl);
           JavaServiceDesc ejbServiceDesc = serviceInfo.getServiceDesc();
   
  @@ -109,8 +108,25 @@
           } catch (URISyntaxException e) {
               throw new DeploymentException("Invalid address location URI: 
"+ejbServiceDesc.getEndpointURL(), e);
           }
  -
  -        GBeanData gBean = 
WSContainerGBean.createGBean(ejbName,sessionObjectName,listener, location, 
wsdlURI, serviceInfo);
  +        String securityRealmName = null;
  +        String realmName = null;
  +        String transportGuarantee = null;
  +        String authMethod = null;
  +        if (webServiceSecurity != null) {
  +            securityRealmName = 
webServiceSecurity.getSecurityRealmName().trim();
  +            realmName = webServiceSecurity.getRealmName().trim();
  +            transportGuarantee = 
webServiceSecurity.getTransportGuarantee().toString();
  +            authMethod = webServiceSecurity.getAuthMethod().toString();
  +        }
  +        GBeanData gBean = WSContainerGBean.createGBean(ejbName, 
  +                sessionObjectName,
  +                listener,
  +                location,
  +                wsdlURI,
  +                serviceInfo,
  +                securityRealmName,
  +                realmName,
  +                transportGuarantee, authMethod);
           return gBean;
       }
   }
  
  
  
  1.24      +1 -1      
openejb/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java
  
  Index: SessionBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- SessionBuilder.java       18 Apr 2005 19:05:16 -0000      1.23
  +++ SessionBuilder.java       17 May 2005 00:29:27 -0000      1.24
  @@ -179,7 +179,7 @@
   //        XFireWebServiceContainerBuilder xfireWebServiceBuilder = new 
XFireWebServiceContainerBuilder();
   //        xfireWebServiceBuilder.addGbean(earContext, ejbModule, cl, 
sessionObjectName, listener, sessionBean, openejbSessionBean, 
transactionPolicyHelper, security);
           AxisWebServiceContainerBuilder axisWebServiceContainerBuilder = new 
AxisWebServiceContainerBuilder();
  -        axisWebServiceContainerBuilder.addGbean(earContext, ejbModule, cl, 
sessionObjectName, listener, sessionBean, openejbSessionBean, 
transactionPolicyHelper);
  +        axisWebServiceContainerBuilder.addGbean(earContext, ejbModule, cl, 
sessionObjectName, listener, sessionBean, openejbSessionBean, 
transactionPolicyHelper, openejbSessionBean == null? null: 
openejbSessionBean.getWebServiceSecurity());
       }
   
       private void addEJBContainerGBean(EARContext earContext, EJBModule 
ejbModule, ComponentPermissions componentPermissions, ClassLoader cl, 
ObjectName sessionObjectName, SessionBeanType sessionBean, 
OpenejbSessionBeanType openejbSessionBean, TransactionPolicyHelper 
transactionPolicyHelper, String policyContextID) throws DeploymentException {
  
  
  

Reply via email to