[jboss-cvs] JBossAS SVN: r98082 - trunk/webservices/src/main/java/org/jboss/webservices/integration/metadata.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Dec 21 09:48:44 EST 2009


Author: richard.opalka at jboss.com
Date: 2009-12-21 09:48:43 -0500 (Mon, 21 Dec 2009)
New Revision: 98082

Modified:
   trunk/webservices/src/main/java/org/jboss/webservices/integration/metadata/AbstractMetaDataBuilderEJB.java
Log:
[JBWS-2838] fixing TCK6 regression

Modified: trunk/webservices/src/main/java/org/jboss/webservices/integration/metadata/AbstractMetaDataBuilderEJB.java
===================================================================
--- trunk/webservices/src/main/java/org/jboss/webservices/integration/metadata/AbstractMetaDataBuilderEJB.java	2009-12-21 14:47:58 UTC (rev 98081)
+++ trunk/webservices/src/main/java/org/jboss/webservices/integration/metadata/AbstractMetaDataBuilderEJB.java	2009-12-21 14:48:43 UTC (rev 98082)
@@ -21,15 +21,19 @@
  */
 package org.jboss.webservices.integration.metadata;
 
+import java.util.Iterator;
+
 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.WebservicesMetaData;
 import org.jboss.webservices.integration.util.ASHelper;
+import org.jboss.ws.Constants;
 import org.jboss.wsf.common.integration.WSHelper;
 import org.jboss.wsf.spi.deployment.Deployment;
 import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
 import org.jboss.wsf.spi.metadata.j2ee.PublishLocationAdapter;
 
 /**
@@ -93,10 +97,7 @@
       }
 
       // set context root
-      final String contextRoot = webservicesMD.getContextRoot();
-      ejbArchiveMD.setWebServiceContextRoot(contextRoot);
-      this.log.debug("Setting context root: " + contextRoot);
-
+      String contextRoot = webservicesMD.getContextRoot();
       final WebserviceDescriptionsMetaData wsDescriptionsMD = webservicesMD.getWebserviceDescriptions();
 
       if (wsDescriptionsMD != null)
@@ -109,6 +110,11 @@
                .getWebserviceDescriptionMetaData(wsDescriptionsMD);
          if (wsDescriptionMD != null)
          {
+            if (!Constants.BC_CONTEXT_MODE && contextRoot == null && !hasContextRoot(ejbArchiveMD))
+            {
+               contextRoot = wsDescriptionMD.getWebserviceDescriptionName(); // TCK6 fallback
+            }
+
             final String configName = wsDescriptionMD.getConfigName();
             final String configFile = wsDescriptionMD.getConfigFile();
 
@@ -121,6 +127,29 @@
             ejbArchiveMD.setConfigFile(wsDescriptionMD.getConfigFile());
          }
       }
+
+      ejbArchiveMD.setWebServiceContextRoot(contextRoot);
+      this.log.debug("Setting context root: " + contextRoot);
    }
 
+   /**
+    * Returns true if has context root, false otherwise.
+    *
+    * @param ejbArchiveMD ejb archive MD
+    * @return true if has context root, false otherwise
+    */
+   private boolean hasContextRoot(final EJBArchiveMetaData ejbArchiveMD)
+   {
+      for (final Iterator<EJBMetaData> ejbMDs = ejbArchiveMD.getEnterpriseBeans(); ejbMDs.hasNext(); )
+      {
+         final EJBMetaData ejbMD = ejbMDs.next();
+         if (ejbMD.getPortComponentURI() != null)
+         {
+            return true;
+         }
+      }
+
+      return false;
+   }
+
 }




More information about the jboss-cvs-commits mailing list