djencks 2005/02/23 13:13:27
Modified: modules/openejb-builder/src/java/org/openejb/deployment
OpenEJBModuleBuilder.java SessionBuilder.java
WSContainerBuilder.java
Log:
refactor ws to use WebServiceContainer rather than WSContainerIndex. Openejb
uses its SoapHttpListener, geronimo uses Jetty for invoking ws
Revision Changes Path
1.30 +7 -4
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.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- OpenEJBModuleBuilder.java 20 Feb 2005 15:44:50 -0000 1.29
+++ OpenEJBModuleBuilder.java 23 Feb 2005 18:13:27 -0000 1.30
@@ -123,6 +123,7 @@
public class OpenEJBModuleBuilder implements ModuleBuilder,
EJBReferenceBuilder {
private final URI defaultParentId;
+ private final ObjectName listener;
private final CMPEntityBuilder cmpEntityBuilder;
private final SessionBuilder sessionBuilder;
private final EntityBuilder entityBuilder;
@@ -131,8 +132,9 @@
private final SkeletonGenerator skeletonGenerator;
private final Repository repository;
- public OpenEJBModuleBuilder(URI defaultParentId, SkeletonGenerator
skeletonGenerator, Repository repository) {
+ public OpenEJBModuleBuilder(URI defaultParentId, ObjectName listener,
SkeletonGenerator skeletonGenerator, Repository repository) {
this.defaultParentId = defaultParentId;
+ this.listener = listener;
this.skeletonGenerator = skeletonGenerator;
this.containerSecurityBuilder = new ContainerSecurityBuilder(this);
this.cmpEntityBuilder = new CMPEntityBuilder(this);
@@ -484,7 +486,7 @@
EnterpriseBeansType enterpriseBeans = ejbJar.getEnterpriseBeans();
- sessionBuilder.buildBeans(earContext, moduleJ2eeContext, cl,
ejbModule, openejbBeans, transactionPolicyHelper, security, enterpriseBeans);
+ sessionBuilder.buildBeans(earContext, moduleJ2eeContext, cl,
ejbModule, openejbBeans, transactionPolicyHelper, security, enterpriseBeans,
listener);
entityBuilder.buildBeans(earContext, moduleJ2eeContext, cl,
ejbModule, openejbBeans, transactionPolicyHelper, security, enterpriseBeans);
@@ -571,12 +573,13 @@
static {
GBeanInfoBuilder infoBuilder = new
GBeanInfoBuilder(OpenEJBModuleBuilder.class, NameFactory.MODULE_BUILDER);
infoBuilder.addAttribute("defaultParentId", URI.class, true);
+ infoBuilder.addAttribute("listener", ObjectName.class, true);
infoBuilder.addReference("SkeletonGenerator",
SkeletonGenerator.class);
infoBuilder.addReference("Repository", Repository.class);
infoBuilder.addInterface(ModuleBuilder.class);
infoBuilder.addInterface(EJBReferenceBuilder.class);
- infoBuilder.setConstructor(new String[] {"defaultParentId",
"SkeletonGenerator", "Repository"});
+ infoBuilder.setConstructor(new String[] {"defaultParentId",
"listener", "SkeletonGenerator", "Repository"});
GBEAN_INFO = infoBuilder.getBeanInfo();
}
1.14 +4 -4
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.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- SessionBuilder.java 16 Feb 2005 00:09:23 -0000 1.13
+++ SessionBuilder.java 23 Feb 2005 18:13:27 -0000 1.14
@@ -141,7 +141,7 @@
}
- protected void buildBeans(EARContext earContext, J2eeContext
moduleJ2eeContext, ClassLoader cl, EJBModule ejbModule, Map openejbBeans,
TransactionPolicyHelper transactionPolicyHelper, Security security,
EnterpriseBeansType enterpriseBeans) throws DeploymentException {
+ protected void buildBeans(EARContext earContext, J2eeContext
moduleJ2eeContext, ClassLoader cl, EJBModule ejbModule, Map openejbBeans,
TransactionPolicyHelper transactionPolicyHelper, Security security,
EnterpriseBeansType enterpriseBeans, ObjectName listener) throws
DeploymentException {
// Session Beans
SessionBeanType[] sessionBeans = enterpriseBeans.getSessionArray();
for (int i = 0; i < sessionBeans.length; i++) {
@@ -151,14 +151,14 @@
ObjectName sessionObjectName =
createEJBObjectName(moduleJ2eeContext, sessionBean);
assert sessionObjectName != null: "StatelesSessionBean object
name is null";
addEJBContainerGBean(earContext, ejbModule, cl,
sessionObjectName, sessionBean, openejbSessionBean, transactionPolicyHelper,
security);
- addWSContainerGBean(earContext, ejbModule, cl,
sessionObjectName, sessionBean, openejbSessionBean, transactionPolicyHelper,
security);
+ addWSContainerGBean(earContext, ejbModule, cl,
sessionObjectName, sessionBean, openejbSessionBean, transactionPolicyHelper,
security, listener);
}
}
- private void addWSContainerGBean(EARContext earContext, EJBModule
ejbModule, ClassLoader cl, ObjectName sessionObjectName, SessionBeanType
sessionBean, OpenejbSessionBeanType openejbSessionBean, TransactionPolicyHelper
transactionPolicyHelper, Security security) throws DeploymentException {
+ private void addWSContainerGBean(EARContext earContext, EJBModule
ejbModule, ClassLoader cl, ObjectName sessionObjectName, SessionBeanType
sessionBean, OpenejbSessionBeanType openejbSessionBean, TransactionPolicyHelper
transactionPolicyHelper, Security security, ObjectName listener) throws
DeploymentException {
WSContainerBuilder wsBuilder = new WSContainerBuilder();
- wsBuilder.addGbean(earContext, ejbModule, cl, sessionObjectName,
sessionBean, openejbSessionBean, transactionPolicyHelper, security);
+ wsBuilder.addGbean(earContext, ejbModule, cl, sessionObjectName,
listener, sessionBean, openejbSessionBean, transactionPolicyHelper, security);
}
private void addEJBContainerGBean(EARContext earContext, EJBModule
ejbModule, ClassLoader cl, ObjectName sessionObjectName, SessionBeanType
sessionBean, OpenejbSessionBeanType openejbSessionBean, TransactionPolicyHelper
transactionPolicyHelper, Security security) throws DeploymentException {
1.5 +5 -5
openejb/modules/openejb-builder/src/java/org/openejb/deployment/WSContainerBuilder.java
Index: WSContainerBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/WSContainerBuilder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- WSContainerBuilder.java 18 Feb 2005 23:48:29 -0000 1.4
+++ WSContainerBuilder.java 23 Feb 2005 18:13:27 -0000 1.5
@@ -90,7 +90,7 @@
* 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, SessionBeanType sessionBean,
OpenejbSessionBeanType openejbSessionBean, TransactionPolicyHelper
transactionPolicyHelper, Security security) throws DeploymentException {
+ public void addGbean(EARContext earContext, EJBModule ejbModule,
ClassLoader cl, ObjectName sessionObjectName, ObjectName listener,
SessionBeanType sessionBean, OpenejbSessionBeanType openejbSessionBean,
TransactionPolicyHelper transactionPolicyHelper, Security security) throws
DeploymentException {
boolean isStateless =
"Stateless".equals(sessionBean.getSessionType().getStringValue());
String serviceEndpointName =
OpenEJBModuleBuilder.getJ2eeStringValue(sessionBean.getServiceEndpoint());
@@ -102,12 +102,12 @@
serviceEndpointName = serviceEndpointName.trim();
- GBeanData gBean = buildGBeanData(sessionObjectName, ejbName,
serviceEndpointName, ejbModule.getModuleFile());
+ GBeanData gBean = buildGBeanData(sessionObjectName, listener,
ejbName, serviceEndpointName, ejbModule.getModuleFile());
earContext.addGBean(gBean);
}
- public GBeanData buildGBeanData(ObjectName sessionObjectName, String
ejbName, String serviceEndpointName, JarFile jarFile) throws
DeploymentException {
+ public GBeanData buildGBeanData(ObjectName sessionObjectName, ObjectName
listener, String ejbName, String serviceEndpointName, JarFile jarFile) throws
DeploymentException {
WebServices webservice;
try {
URL webservicesURL = DeploymentUtil.createJarURL(jarFile,
"META-INF/webservices.xml");
@@ -246,7 +246,7 @@
throw new DeploymentException("Cannot determine the encoding of
the binding: "+port.getBinding().getQName());
}
- GBeanData gBean = WSContainerGBean.createGBean(ejbName,
sessionObjectName, definition, location, wsdlURL,
definition.getTargetNamespace(), encoding, style);
+ GBeanData gBean = WSContainerGBean.createGBean(ejbName,
sessionObjectName, listener, definition, location, wsdlURL,
definition.getTargetNamespace(), encoding, style);
return gBean;
}