Modified: branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java (2616 => 2617)
--- branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java 2006-04-20 16:06:50 UTC (rev 2616)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java 2006-04-20 17:36:58 UTC (rev 2617)
@@ -61,6 +61,7 @@
import org.apache.geronimo.gbean.GBeanData;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.SingleElementCollection;
import org.apache.geronimo.j2ee.deployment.EARContext;
import org.apache.geronimo.j2ee.deployment.EJBModule;
import org.apache.geronimo.j2ee.deployment.Module;
@@ -140,7 +141,7 @@
private final SessionBuilder sessionBuilder;
private final EntityBuilder entityBuilder;
private final MdbBuilder mdbBuilder;
- private final WebServiceBuilder webServiceBuilder;
+ private final SingleElementCollection webServiceBuilder;
private final TransactionImportPolicyBuilder transactionImportPolicyBuilder;
private static QName OPENEJBJAR_QNAME = OpenejbOpenejbJarDocument.type.getDocumentElementName();
private static final String OPENEJBJAR_NAMESPACE = OPENEJBJAR_QNAME.getNamespaceURI();
@@ -152,21 +153,29 @@
SchemaConversionUtils.registerNamespaceConversions(conversions);
}
- public OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, Object webServiceLinkTemplate, WebServiceBuilder webServiceBuilder, Kernel kernel) throws GBeanNotFoundException {
- this(defaultEnvironment, listener, getLinkData(kernel, webServiceLinkTemplate), webServiceBuilder);
+ public OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, Object webServiceLinkTemplate, Collection webServiceBuilder, Kernel kernel) throws GBeanNotFoundException {
+ this(defaultEnvironment, listener, getLinkData(kernel, webServiceLinkTemplate), new SingleElementCollection(webServiceBuilder));
}
public OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, GBeanData linkTemplate, WebServiceBuilder webServiceBuilder) {
+ this(defaultEnvironment, listener, linkTemplate, new SingleElementCollection(webServiceBuilder));
+ }
+
+ private OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, GBeanData linkTemplate, SingleElementCollection webServiceBuilder) {
this.defaultEnvironment = defaultEnvironment;
this.listener = listener;
this.transactionImportPolicyBuilder = new NoDistributedTxTransactionImportPolicyBuilder();
this.cmpEntityBuilder = new CMPEntityBuilder(this);
- this.sessionBuilder = new SessionBuilder(this, linkTemplate, webServiceBuilder);
+ this.sessionBuilder = new SessionBuilder(this, linkTemplate);
this.entityBuilder = new EntityBuilder(this);
this.mdbBuilder = new MdbBuilder(this);
this.webServiceBuilder = webServiceBuilder;
}
+ public WebServiceBuilder getWebServiceBuilder() {
+ return (WebServiceBuilder) webServiceBuilder.getElement();
+ }
+
private static GBeanData getLinkData(Kernel kernel, Object webServiceLinkTemplate) throws GBeanNotFoundException {
AbstractName webServiceLinkTemplateName = kernel.getAbstractNameFor(webServiceLinkTemplate);
return kernel.getGBeanData(webServiceLinkTemplateName);
@@ -483,7 +492,7 @@
URL wsDDUrl;
try {
wsDDUrl = DeploymentUtil.createJarURL(jarFile, "META-INF/webservices.xml");
- portInfoMap = webServiceBuilder.parseWebServiceDescriptor(wsDDUrl, jarFile, true, correctedPortLocations);
+ portInfoMap = getWebServiceBuilder().parseWebServiceDescriptor(wsDDUrl, jarFile, true, correctedPortLocations);
} catch (MalformedURLException e) {
//there is no webservices file
}
@@ -576,4 +585,5 @@
public static GBeanInfo getGBeanInfo() {
return GBEAN_INFO;
}
+
}
Modified: branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java (2616 => 2617)
--- branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java 2006-04-20 16:06:50 UTC (rev 2616)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java 2006-04-20 17:36:58 UTC (rev 2617)
@@ -108,13 +108,11 @@
private final static String DEFAULT_AUTH_REALM_NAME = "Geronimo Web Service";
- private final WebServiceBuilder webServiceBuilder;
private final GBeanData linkDataTemplate;
- public SessionBuilder(OpenEJBModuleBuilder builder, GBeanData linkDataTemplate, WebServiceBuilder webServiceBuilder) {
+ public SessionBuilder(OpenEJBModuleBuilder builder, GBeanData linkDataTemplate) {
super(builder);
this.linkDataTemplate = linkDataTemplate;
- this.webServiceBuilder = webServiceBuilder;
}
private AbstractName createEJBObjectName(EARContext earContext, AbstractName moduleBaseName, SessionBeanType sessionBean) {
@@ -199,7 +197,7 @@
linkData.setAbstractName(linkName);
Object portInfo = portInfoMap.get(ejbName);
//let the webServiceBuilder configure its part
- webServiceBuilder.configureEJB(linkData, ejbModule.getModuleFile(), portInfo, cl);
+ moduleBuilder.getWebServiceBuilder().configureEJB(linkData, ejbModule.getModuleFile(), portInfo, cl);
//configure the security part and references
if (webServiceSecurity != null) {
linkData.setAttribute("securityRealmName", webServiceSecurity.getSecurityRealmName().trim());