[jboss-cvs] JBossAS SVN: r66492 - in trunk: webservices/src/main/org/jboss/wsf/container/jboss50 and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Oct 26 09:34:37 EDT 2007


Author: thomas.diesler at jboss.com
Date: 2007-10-26 09:34:37 -0400 (Fri, 26 Oct 2007)
New Revision: 66492

Modified:
   trunk/server/src/main/org/jboss/ejb/Container.java
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java
Log:
Fix NPEs during ws deployment

Modified: trunk/server/src/main/org/jboss/ejb/Container.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/Container.java	2007-10-26 12:59:33 UTC (rev 66491)
+++ trunk/server/src/main/org/jboss/ejb/Container.java	2007-10-26 13:34:37 UTC (rev 66492)
@@ -1276,11 +1276,14 @@
          ClassLoader loader = unit.getClassLoader();
          UnifiedVirtualFile vfsRoot = new VirtualFileAdaptor(unit.getRoot());
          Iterator<ServiceReferenceMetaData> serviceReferences = beanMetaData.getServiceReferences();
-         while (serviceReferences.hasNext())
+         if (serviceReferences != null)
          {
-            ServiceReferenceMetaData sref = serviceReferences.next();
-            String refName = sref.getServiceRefName();
-            new ServiceReferenceHandler().bindServiceRef(envCtx, refName, vfsRoot, loader, sref);
+            while (serviceReferences.hasNext())
+            {
+               ServiceReferenceMetaData sref = serviceReferences.next();
+               String refName = sref.getServiceRefName();
+               new ServiceReferenceHandler().bindServiceRef(envCtx, refName, vfsRoot, loader, sref);
+            }
          }
       }
 

Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java	2007-10-26 12:59:33 UTC (rev 66491)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java	2007-10-26 13:34:37 UTC (rev 66492)
@@ -59,50 +59,50 @@
 
    public EJBArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
    {
-      JBossMetaData jbmd = unit.getAttachment(JBossMetaData.class);
-      dep.addAttachment(JBossMetaData.class, jbmd);
+      JBossMetaData jbossMetaData = unit.getAttachment(JBossMetaData.class);
+      dep.addAttachment(JBossMetaData.class, jbossMetaData);
       
-      EJBArchiveMetaData umd = new EJBArchiveMetaData();
-      buildEnterpriseBeansMetaData(umd, jbmd);
-      buildWebservicesMetaData(umd, jbmd);
-      umd.setSecurityDomain(jbmd.getSecurityDomain());
+      EJBArchiveMetaData ejbMetaData = new EJBArchiveMetaData();
+      buildEnterpriseBeansMetaData(ejbMetaData, jbossMetaData);
+      buildWebservicesMetaData(ejbMetaData, jbossMetaData);
+      ejbMetaData.setSecurityDomain(jbossMetaData.getSecurityDomain());
       
-      return umd;
+      return ejbMetaData;
    }
 
-   private void buildEnterpriseBeansMetaData(EJBArchiveMetaData umd, JBossMetaData jbmd)
+   private void buildEnterpriseBeansMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbossMetaData)
    {
       List<EJBMetaData> targetBeans = new ArrayList<EJBMetaData>();
-      JBossEnterpriseBeansMetaData sourceBeans = jbmd.getEnterpriseBeans();
+      JBossEnterpriseBeansMetaData sourceBeans = jbossMetaData.getEnterpriseBeans();
       Iterator<JBossEnterpriseBeanMetaData> it = sourceBeans.iterator();
       while (it.hasNext())
       {
          JBossEnterpriseBeanMetaData bmd = it.next();
          buildBeanMetaData(targetBeans, bmd);
       }
-      umd.setEnterpriseBeans(targetBeans);
+      ejbMetaData.setEnterpriseBeans(targetBeans);
    }
 
-   private void buildWebservicesMetaData(EJBArchiveMetaData umd, JBossMetaData apmd)
+   private void buildWebservicesMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbossMetaData)
    {
-      WebservicesMetaData webservices = apmd.getWebservices();
+      WebservicesMetaData webservices = jbossMetaData.getWebservices();
       if (webservices != null)
       {
          String contextRoot = webservices.getContextRoot();
-         umd.setPublishLocationAdapter(getPublishLocationAdpater(webservices));
+         ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(webservices));
 
          WebserviceDescriptionsMetaData wsDescriptions = webservices.getWebserviceDescriptions();
-         if (wsDescriptions.size() > 1)
+         if (wsDescriptions != null && wsDescriptions.size() > 1)
             log.warn("Multiple <webservice-description> elements not supported");
 
-         if (wsDescriptions.size() > 0)
+         if (wsDescriptions != null && wsDescriptions.size() > 0)
          {
             WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
-            umd.setConfigName(wsd.getConfigName());
-            umd.setConfigFile(wsd.getConfigFile());
+            ejbMetaData.setConfigName(wsd.getConfigName());
+            ejbMetaData.setConfigFile(wsd.getConfigFile());
          }
 
-         umd.setWebServiceContextRoot(contextRoot);
+         ejbMetaData.setWebServiceContextRoot(contextRoot);
       }
    }
 
@@ -113,14 +113,17 @@
          public String getWsdlPublishLocationByName(String name)
          {
             String wsdlPublishLocation = null;
-            WebserviceDescriptionsMetaData wsds = webservices.getWebserviceDescriptions();
-            Iterator<WebserviceDescriptionMetaData> it = wsds.iterator();
-            while (it.hasNext())
+            WebserviceDescriptionsMetaData wsDescriptions = webservices.getWebserviceDescriptions();
+            if (wsDescriptions != null)
             {
-               WebserviceDescriptionMetaData wsd = it.next();
-               if (wsd.getWebserviceDescriptionName().equals(name))
+               Iterator<WebserviceDescriptionMetaData> it = wsDescriptions.iterator();
+               while (it.hasNext())
                {
-                  wsdlPublishLocation = wsd.getWsdlPublishLocation();
+                  WebserviceDescriptionMetaData wsDescription = it.next();
+                  if (wsDescription.getWebserviceDescriptionName().equals(name))
+                  {
+                     wsdlPublishLocation = wsDescription.getWsdlPublishLocation();
+                  }
                }
             }
             return wsdlPublishLocation;
@@ -128,13 +131,13 @@
       };
    }
 
-   private EJBMetaData buildBeanMetaData(List<EJBMetaData> beans, JBossEnterpriseBeanMetaData jbmd)
+   private EJBMetaData buildBeanMetaData(List<EJBMetaData> ejbBeans, JBossEnterpriseBeanMetaData jbossBeansMetaData)
    {
       EJBMetaData targetBean = null;
-      if (jbmd.isSession())
+      if (jbossBeansMetaData.isSession())
       {
          targetBean = new SLSBMetaData();
-         JBossSessionBeanMetaData jbossSessionBean = (JBossSessionBeanMetaData)jbmd;
+         JBossSessionBeanMetaData jbossSessionBean = (JBossSessionBeanMetaData)jbossBeansMetaData;
          
          targetBean.setEjbName(jbossSessionBean.getEjbName());
          targetBean.setEjbClass(jbossSessionBean.getEjbClass());
@@ -142,7 +145,7 @@
          targetBean.setHome(jbossSessionBean.getHome());
          targetBean.setLocalHome(jbossSessionBean.getLocalHome());
          targetBean.setJndiName(jbossSessionBean.determineJndiName());
-         targetBean.setLocalJndiName(jbmd.determineLocalJndiName());
+         targetBean.setLocalJndiName(jbossBeansMetaData.determineLocalJndiName());
          
          PortComponent pcmd = jbossSessionBean.getPortComponent();
          if (pcmd != null)
@@ -156,21 +159,21 @@
             targetBean.setSecurityMetaData(smd);
          }
       }
-      else if (jbmd.isMessageDriven())
+      else if (jbossBeansMetaData.isMessageDriven())
       {
          targetBean = new MDBMetaData();
-         JBossMessageDrivenBeanMetaData jbossMessageBean = (JBossMessageDrivenBeanMetaData)jbmd;
+         JBossMessageDrivenBeanMetaData jbossMessageBean = (JBossMessageDrivenBeanMetaData)jbossBeansMetaData;
          
          targetBean.setEjbName(jbossMessageBean.getEjbName());
          targetBean.setEjbClass(jbossMessageBean.getEjbClass());
          //targetBean.setServiceEndpointInterface(???);
          //targetBean.setJndiName(???);
-         targetBean.setLocalJndiName(jbmd.getLocalJndiName());
+         targetBean.setLocalJndiName(jbossBeansMetaData.getLocalJndiName());
          ((MDBMetaData)targetBean).setDestinationJndiName(jbossMessageBean.getDestinationJndiName());
       }
 
       if (targetBean != null)
-         beans.add(targetBean);
+         ejbBeans.add(targetBean);
       
       return targetBean;
    }




More information about the jboss-cvs-commits mailing list