[jboss-cvs] JBossAS SVN: r66781 - trunk/webservices/src/main/org/jboss/wsf/container/jboss50.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 6 08:55:54 EST 2007


Author: thomas.diesler at jboss.com
Date: 2007-11-06 08:55:54 -0500 (Tue, 06 Nov 2007)
New Revision: 66781

Modified:
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB3.java
Log:
Fix EJB3 metadata porting issues

Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java	2007-11-06 13:55:34 UTC (rev 66780)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java	2007-11-06 13:55:54 UTC (rev 66781)
@@ -89,42 +89,38 @@
       if (webservices != null)
       {
          String contextRoot = webservices.getContextRoot();
+         ejbMetaData.setWebServiceContextRoot(contextRoot);
+         
          ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(webservices));
 
          WebserviceDescriptionsMetaData wsDescriptions = webservices.getWebserviceDescriptions();
-         if (wsDescriptions != null && wsDescriptions.size() > 1)
-            log.warn("Multiple <webservice-description> elements not supported");
-
-         if (wsDescriptions != null && wsDescriptions.size() > 0)
+         if (wsDescriptions != null)
          {
-            WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
-            ejbMetaData.setConfigName(wsd.getConfigName());
-            ejbMetaData.setConfigFile(wsd.getConfigFile());
-         }
+            if (wsDescriptions.size() > 1)
+               log.warn("Multiple <webservice-description> elements not supported");
 
-         ejbMetaData.setWebServiceContextRoot(contextRoot);
+            if (wsDescriptions.size() > 0)
+            {
+               WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
+               ejbMetaData.setConfigName(wsd.getConfigName());
+               ejbMetaData.setConfigFile(wsd.getConfigFile());
+            }
+         }
       }
    }
 
-   private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData webservices)
+   private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData wsMetaData)
    {
       return new PublishLocationAdapter()
       {
          public String getWsdlPublishLocationByName(String name)
          {
             String wsdlPublishLocation = null;
-            WebserviceDescriptionsMetaData wsDescriptions = webservices.getWebserviceDescriptions();
-            if (wsDescriptions != null)
+            WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+            if (wsDescriptions != null && wsDescriptions.get(name) != null)
             {
-               Iterator<WebserviceDescriptionMetaData> it = wsDescriptions.iterator();
-               while (it.hasNext())
-               {
-                  WebserviceDescriptionMetaData wsDescription = it.next();
-                  if (wsDescription.getWebserviceDescriptionName().equals(name))
-                  {
-                     wsdlPublishLocation = wsDescription.getWsdlPublishLocation();
-                  }
-               }
+               WebserviceDescriptionMetaData wsdMetaData = wsDescriptions.get(name);
+               wsdlPublishLocation = wsdMetaData.getWsdlPublishLocation();
             }
             return wsdlPublishLocation;
          }

Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB3.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB3.java	2007-11-06 13:55:34 UTC (rev 66780)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB3.java	2007-11-06 13:55:54 UTC (rev 66781)
@@ -32,12 +32,13 @@
 import org.jboss.ejb3.EJBContainer;
 import org.jboss.ejb3.Ejb3Deployment;
 import org.jboss.ejb3.mdb.MessagingContainer;
-import org.jboss.ejb3.metamodel.EjbJarDD;
-import org.jboss.ejb3.metamodel.WebserviceDescription;
-import org.jboss.ejb3.metamodel.Webservices;
 import org.jboss.ejb3.session.SessionContainer;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
 import org.jboss.metadata.javaee.spec.PortComponent;
 import org.jboss.wsf.spi.deployment.Deployment;
 import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
@@ -63,38 +64,39 @@
       Ejb3Deployment ejb3Deployment = unit.getAttachment(Ejb3Deployment.class);
       dep.addAttachment(Ejb3Deployment.class, ejb3Deployment);
 
-      EjbJarDD jarDD = unit.getAttachment(EjbJarDD.class);
-      EJBArchiveMetaData umd = new EJBArchiveMetaData();      
+      EJBArchiveMetaData umd = new EJBArchiveMetaData();
       buildEnterpriseBeansMetaData(umd, ejb3Deployment);
-      buildWebservicesMetaData(umd, jarDD);
 
+      JBossMetaData jbMetaData = unit.getAttachment(JBossMetaData.class);
+      if (jbMetaData != null)
+         buildWebservicesMetaData(umd, jbMetaData);
+
       return umd;
    }
 
-   private void buildWebservicesMetaData(EJBArchiveMetaData umd, EjbJarDD jarDD)
+   private void buildWebservicesMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbMetaData)
    {
-      // nothing to do
-      if (jarDD == null)
-         return;
-
-      Webservices webservices = jarDD.getWebservices();
-      if (webservices != null)
+      WebservicesMetaData wsMetaData = jbMetaData.getWebservices();
+      if (wsMetaData != null)
       {
-         String contextRoot = webservices.getContextRoot();
-         umd.setPublishLocationAdapter(getPublishLocationAdpater(webservices));
+         String contextRoot = wsMetaData.getContextRoot();
+         ejbMetaData.setWebServiceContextRoot(contextRoot);
 
-         List<WebserviceDescription> wsDescriptions = webservices.getWebserviceDescriptions();
-         if (wsDescriptions.size() > 1)
-            log.warn("Multiple <webservice-description> elements not supported");
+         ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(wsMetaData));
 
-         if (wsDescriptions.size() > 0)
+         WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+         if (wsDescriptions != null)
          {
-            WebserviceDescription wsd = wsDescriptions.get(0);
-            umd.setConfigName(wsd.getConfigName());
-            umd.setConfigFile(wsd.getConfigFile());
+            if (wsDescriptions.size() > 1)
+               log.warn("Multiple <webservice-description> elements not supported");
+
+            if (wsDescriptions.size() > 0)
+            {
+               WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
+               ejbMetaData.setConfigName(wsd.getConfigName());
+               ejbMetaData.setConfigFile(wsd.getConfigFile());
+            }
          }
-
-         umd.setWebServiceContextRoot(contextRoot);
       }
    }
 
@@ -140,18 +142,17 @@
       jarMetaData.setEnterpriseBeans(ejbMetaDataList);
    }
 
-   private PublishLocationAdapter getPublishLocationAdpater(final Webservices webservices)
+   private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData wsMetaData)
    {
       return new PublishLocationAdapter() {
          public String getWsdlPublishLocationByName(String name)
          {
             String wsdlPublishLocation = null;
-            for (WebserviceDescription wsd : webservices.getWebserviceDescriptions())
+            WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+            if (wsDescriptions != null && wsDescriptions.get(name) != null)
             {
-               if (wsd.getDescriptionName().equals(name))
-               {
-                  wsdlPublishLocation = wsd.getWsdlPublishLocation();
-               }
+               WebserviceDescriptionMetaData wsdMetaData = wsDescriptions.get(name);
+               wsdlPublishLocation = wsdMetaData.getWsdlPublishLocation();
             }
             return wsdlPublishLocation;
          }




More information about the jboss-cvs-commits mailing list