Title: [2617] branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment: GERONIMO-1875 make all the builder references in builders be 0..1 using SingleElementCollections
Revision
2617
Author
djencks
Date
2006-04-20 13:36:58 -0400 (Thu, 20 Apr 2006)

Log Message

GERONIMO-1875 make all the builder references in builders be 0..1 using SingleElementCollections

Modified Paths

Diff

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());

Reply via email to