[jboss-cvs] JBossAS SVN: r60101 - in trunk: server/src/main/org/jboss/metadata and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jan 29 07:58:52 EST 2007


Author: thomas.diesler at jboss.com
Date: 2007-01-29 07:58:52 -0500 (Mon, 29 Jan 2007)
New Revision: 60101

Modified:
   trunk/server/src/main/org/jboss/deployment/EjbJarObjectFactory.java
   trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
   trunk/server/src/main/org/jboss/metadata/BeanMetaData.java
   trunk/server/src/main/org/jboss/metadata/EjbPortComponentMetaData.java
   trunk/testsuite/build.xml
Log:
Resurect EJB2.1 web service endpoints/clients

Modified: trunk/server/src/main/org/jboss/deployment/EjbJarObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/EjbJarObjectFactory.java	2007-01-29 10:28:08 UTC (rev 60100)
+++ trunk/server/src/main/org/jboss/deployment/EjbJarObjectFactory.java	2007-01-29 12:58:52 UTC (rev 60101)
@@ -22,34 +22,35 @@
 package org.jboss.deployment;
 
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.ArrayList;
+
 import org.jboss.logging.Logger;
+import org.jboss.metadata.ActivationConfigPropertyMetaData;
 import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.BeanMetaData;
 import org.jboss.metadata.DDObjectFactory;
+import org.jboss.metadata.EjbLocalRefMetaData;
+import org.jboss.metadata.EjbRefMetaData;
 import org.jboss.metadata.EntityMetaData;
+import org.jboss.metadata.EnvEntryMetaData;
 import org.jboss.metadata.IconMetaData;
 import org.jboss.metadata.MessageDestinationMetaData;
+import org.jboss.metadata.MessageDestinationRefMetaData;
 import org.jboss.metadata.MessageDrivenMetaData;
 import org.jboss.metadata.MethodMetaData;
 import org.jboss.metadata.QueryMetaData;
 import org.jboss.metadata.RelationMetaData;
 import org.jboss.metadata.RelationshipRoleMetaData;
+import org.jboss.metadata.ResourceEnvRefMetaData;
+import org.jboss.metadata.ResourceRefMetaData;
 import org.jboss.metadata.SecurityIdentityMetaData;
 import org.jboss.metadata.SecurityRoleMetaData;
 import org.jboss.metadata.SecurityRoleRefMetaData;
 import org.jboss.metadata.SessionMetaData;
-import org.jboss.metadata.BeanMetaData;
-import org.jboss.metadata.ActivationConfigPropertyMetaData;
-import org.jboss.metadata.EjbLocalRefMetaData;
-import org.jboss.metadata.EjbRefMetaData;
-import org.jboss.metadata.ResourceRefMetaData;
-import org.jboss.metadata.ResourceEnvRefMetaData;
-import org.jboss.metadata.EnvEntryMetaData;
-import org.jboss.metadata.MessageDestinationRefMetaData;
+import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
 import org.jboss.xb.binding.ObjectModelFactory;
 import org.jboss.xb.binding.UnmarshallingContext;
-import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
 import org.xml.sax.Attributes;
 
 
@@ -770,6 +771,8 @@
          bean.setLocal(value);
       else if( localName.equals("ejb-class") )
          bean.setEjbClass(value);
+      else if( localName.equals("service-endpoint") )
+         bean.setServiceEndpointClass(value);
       else if( localName.equals("session-type") )
       {
          if( value.equals("Stateful") )

Modified: trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java	2007-01-29 10:28:08 UTC (rev 60100)
+++ trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java	2007-01-29 12:58:52 UTC (rev 60101)
@@ -21,40 +21,45 @@
  */
 package org.jboss.deployment;
 
+// $Id: $
 
+
+import java.util.StringTokenizer;
+
+import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.ParserConfigurationException;
+
+import org.jboss.metadata.ActivationConfigPropertyMetaData;
 import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.AssemblyDescriptorMetaData;
 import org.jboss.metadata.BeanMetaData;
+import org.jboss.metadata.CacheInvalidationConfigMetaData;
+import org.jboss.metadata.ClusterConfigMetaData;
+import org.jboss.metadata.ConfigurationMetaData;
 import org.jboss.metadata.DDObjectFactory;
+import org.jboss.metadata.EjbLocalRefMetaData;
+import org.jboss.metadata.EjbPortComponentMetaData;
+import org.jboss.metadata.EjbRefMetaData;
+import org.jboss.metadata.EntityMetaData;
 import org.jboss.metadata.InvokerProxyBindingMetaData;
-import org.jboss.metadata.ConfigurationMetaData;
-import org.jboss.metadata.ClusterConfigMetaData;
-import org.jboss.metadata.EntityMetaData;
+import org.jboss.metadata.IorSecurityConfigMetaData;
+import org.jboss.metadata.MessageDestinationMetaData;
+import org.jboss.metadata.MessageDestinationRefMetaData;
 import org.jboss.metadata.MessageDrivenMetaData;
-import org.jboss.metadata.EjbRefMetaData;
+import org.jboss.metadata.MethodAttributes;
+import org.jboss.metadata.ResourceEnvRefMetaData;
+import org.jboss.metadata.ResourceRefMetaData;
 import org.jboss.metadata.SecurityIdentityMetaData;
-import org.jboss.metadata.MethodAttributes;
-import org.jboss.metadata.IorSecurityConfigMetaData;
-import org.jboss.metadata.CacheInvalidationConfigMetaData;
-import org.jboss.metadata.EjbPortComponentMetaData;
+import org.jboss.metadata.SecurityRoleMetaData;
 import org.jboss.metadata.SessionMetaData;
-import org.jboss.metadata.ActivationConfigPropertyMetaData;
-import org.jboss.metadata.AssemblyDescriptorMetaData;
-import org.jboss.metadata.SecurityRoleMetaData;
-import org.jboss.metadata.MessageDestinationMetaData;
-import org.jboss.metadata.EjbLocalRefMetaData;
-import org.jboss.metadata.ResourceRefMetaData;
-import org.jboss.metadata.ResourceEnvRefMetaData;
-import org.jboss.metadata.MessageDestinationRefMetaData;
-import org.jboss.xb.binding.UnmarshallingContext;
 import org.jboss.mx.util.ObjectNameFactory;
 import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
-import org.xml.sax.Attributes;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Text;
-import org.w3c.dom.Document;
+import org.xml.sax.Attributes;
 
 /**
  * ObjectFactory for translating jboss.xml into ApplicationMetaData instance
@@ -62,6 +67,7 @@
  * @author Scott.Stark at jboss.org
  * @author Alexey.Loubyansky at jboss.org
  * @author Anil.Saldhana at jboss.org
+ * @author Thomas.Diesler at jboss.org
  * @version $Revision:$
  */
 public class JBossEjbObjectFactory extends DDObjectFactory
@@ -457,10 +463,48 @@
       ((EntityMetaData)parent.metaData).setCacheInvalidConfig(child);
    }
 
-   public void addChild(BeanHolder parent, EjbPortComponentMetaData child,
-         UnmarshallingContext navigator, String namespaceURI, String localName)
+   public void addChild(BeanHolder parent, EjbPortComponentMetaData pcMetaData, UnmarshallingContext navigator, String namespaceURI, String localName)
    {
-      ((SessionMetaData)parent.metaData).setPortComponent(child);
+      SessionMetaData sessionMetaData = (SessionMetaData)parent.metaData;
+      sessionMetaData.setPortComponent(pcMetaData);
+      
+      ApplicationMetaData appMetaData = sessionMetaData.getApplicationMetaData();
+      String contextRoot = appMetaData.getWebServiceContextRoot();
+
+      // Post process portComponentURI
+      String portComponentURI = pcMetaData.getPortComponentURI();
+      if (portComponentURI != null)
+      {
+         if (portComponentURI.charAt(0) != '/')
+            portComponentURI = "/" + portComponentURI;
+
+         if (contextRoot == null)
+         {
+            // The first token is the webservice context root
+            StringTokenizer st = new StringTokenizer(portComponentURI, "/");
+            if (st.countTokens() < 2)
+               throw new IllegalStateException("Invalid <port-component-uri>, expected at least two tokens in: " + portComponentURI);
+
+            contextRoot = "/" + st.nextToken();
+            String prevContextRoot = contextRoot;
+            if (prevContextRoot != null && prevContextRoot.equals(contextRoot) == false)
+               throw new IllegalStateException("Invalid <port-component-uri>, expected to start with: " + prevContextRoot);
+
+            appMetaData.setWebServiceContextRoot(contextRoot);
+            portComponentURI = portComponentURI.substring(portComponentURI.indexOf('/', 1));
+         }
+         else if (portComponentURI.startsWith(contextRoot))
+         {
+            portComponentURI = portComponentURI.substring(contextRoot.length());
+         }
+         pcMetaData.setPortComponentURI(portComponentURI);
+      }
+      else
+      {
+         // The context root will be derived from deployment short name
+         portComponentURI = "/" + sessionMetaData.getEjbName();
+         pcMetaData.setPortComponentURI(portComponentURI);
+      }
    }
 
    public void addChild(BeanHolder parent, ActivationConfigPropertyMetaData child,
@@ -979,32 +1023,18 @@
       }
    }
 
-   public void setValue(EjbPortComponentMetaData parent,
-         UnmarshallingContext navigator, String namespaceURI, String localName,
-         String value)
+   public void setValue(EjbPortComponentMetaData pcMetaData, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
    {
-      if(localName.equals("port-component-name"))
-      {
-         parent.setPortComponentName(value);
-      }
-      else if(localName.equals("port-component-uri"))
-      {
-         parent.setPortComponentURI(value);
-      }
-      else if(localName.equals("auth-method"))
-      {
-         parent.setAuthMethod(value);
-      }
-      else if(localName.equals("transport-guarantee"))
-      {
-         parent.setTransportGuarantee(value);
-      }
-      else if(localName.equals("port-uri"))
-      {
-         new IllegalStateException("Deprecated element <port-uri>, use <port-component-uri> instead");
-      }
+      if (localName.equals("port-component-name"))
+         pcMetaData.setPortComponentName(value);
+      else if (localName.equals("port-component-uri"))
+         pcMetaData.setPortComponentURI(value);
+      else if (localName.equals("auth-method"))
+         pcMetaData.setAuthMethod(value);
+      else if (localName.equals("transport-guarantee"))
+         pcMetaData.setTransportGuarantee(value);
    }
-
+      
    public void setValue(ActivationConfigPropertyMetaData parent,
          UnmarshallingContext navigator, String namespaceURI, String localName,
          String value)

Modified: trunk/server/src/main/org/jboss/metadata/BeanMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/BeanMetaData.java	2007-01-29 10:28:08 UTC (rev 60100)
+++ trunk/server/src/main/org/jboss/metadata/BeanMetaData.java	2007-01-29 12:58:52 UTC (rev 60101)
@@ -93,7 +93,7 @@
     bean's local interface */
    private String localClass;
    /** The service-endpoint element contains the fully-qualified
-    *  name of the bean�s service endpoint interface (SEI) */
+    *  name of the bean's service endpoint interface (SEI) */
    protected String serviceEndpointClass;
    /** The ejb-class element contains the fully-qualified name of the
     enterprise bean's class. */

Modified: trunk/server/src/main/org/jboss/metadata/EjbPortComponentMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/EjbPortComponentMetaData.java	2007-01-29 10:28:08 UTC (rev 60100)
+++ trunk/server/src/main/org/jboss/metadata/EjbPortComponentMetaData.java	2007-01-29 12:58:52 UTC (rev 60101)
@@ -1,36 +1,33 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
 package org.jboss.metadata;
 
 // $Id$
 
-import java.util.StringTokenizer;
 
-import org.jboss.deployment.DeploymentException;
-import org.w3c.dom.Element;
-
 /** The metdata data for session/port-component element from jboss.xml
  *
  * @author Scott.Stark at jboss.org
+ * @author Thomas.Diesler at jboss.org
  * @version $Revision$
  */
 public class EjbPortComponentMetaData
@@ -41,13 +38,17 @@
    private String portComponentURI;
    private String authMethod;
    private String transportGuarantee;
-   
+
    public EjbPortComponentMetaData(SessionMetaData sessionMetaData)
    {
       this.sessionMetaData = sessionMetaData;
-      portComponentURI = "/" + sessionMetaData.getEjbName();
    }
 
+   public SessionMetaData getSessionMetaData()
+   {
+      return sessionMetaData;
+   }
+
    public String getPortComponentName()
    {
       return portComponentName;
@@ -62,9 +63,8 @@
    {
       String pattern = "/*";
       if (portComponentURI != null)
-      {
-         return portComponentURI;
-      }
+         pattern = portComponentURI;
+
       return pattern;
    }
 
@@ -85,37 +85,7 @@
 
    public void setPortComponentURI(String portComponentURI)
    {
-      ApplicationMetaData appMetaData = sessionMetaData.getApplicationMetaData();
-      String contextRoot = appMetaData.getWebServiceContextRoot();
-
-      if(portComponentURI.charAt(0) != '/')
-      {
-         portComponentURI = "/" + portComponentURI;
-      }
-
-      if(contextRoot == null)
-      {
-         // The first token is the webservice context root
-         StringTokenizer st = new StringTokenizer(portComponentURI, "/");
-         if(st.countTokens() < 2)
-         {
-            throw new IllegalStateException("Expected at least two tokens <port-component-uri>");
-         }
-
-         contextRoot = "/" + st.nextToken();
-         String prevContextRoot = contextRoot;
-         if(prevContextRoot != null && prevContextRoot.equals(contextRoot) == false)
-         {
-            throw new IllegalStateException("Invalid <port-component-uri>, expected to start with: " + prevContextRoot);
-         }
-
-         appMetaData.setWebServiceContextRoot(contextRoot);
-         portComponentURI = portComponentURI.substring(portComponentURI.indexOf('/', 1));
-      }
-      else if(portComponentURI.startsWith(contextRoot))
-      {
-         portComponentURI = portComponentURI.substring(contextRoot.length());
-      }
+      this.portComponentURI = portComponentURI;
    }
 
    public void setAuthMethod(String authMethod)
@@ -127,40 +97,4 @@
    {
       this.transportGuarantee = transportGuarantee;
    }
-
-   public void importStandardXml(Element element)
-      throws DeploymentException
-   {
-   }
-
-   /** Parse the port-component contents
-    * @param element
-    * @throws DeploymentException
-    */
-   public void importJBossXml(Element element) throws DeploymentException
-   {
-      // port-component/port-component-name
-      portComponentName = MetaData.getUniqueChildContent(element, "port-component-name");
-      
-      // port-component/port-component-uri?
-      portComponentURI = MetaData.getOptionalChildContent(element, "port-component-uri");
-      if(portComponentURI != null)
-      {
-         setPortComponentURI(portComponentURI);
-      }
-      else
-      {
-         portComponentURI = "/" + sessionMetaData.getEjbName();
-         // The context root will be derived from deployment short name
-      }
-
-      // port-component/auth-method?,
-      authMethod = MetaData.getOptionalChildContent(element, "auth-method");
-      // port-component/transport-guarantee?
-      transportGuarantee = MetaData.getOptionalChildContent(element, "transport-guarantee");
-
-      // Deprecated in jboss-4.0.1
-      if (MetaData.getOptionalChildContent(element, "port-uri") != null)
-         throw new DeploymentException("Deprecated element <port-uri>, use <port-component-uri> instead");
-   }
 }

Modified: trunk/testsuite/build.xml
===================================================================
--- trunk/testsuite/build.xml	2007-01-29 10:28:08 UTC (rev 60100)
+++ trunk/testsuite/build.xml	2007-01-29 12:58:52 UTC (rev 60101)
@@ -2985,7 +2985,7 @@
             fork="${junit.batchtest.fork}">
 
             <fileset dir="${build.classes}">
-               <include name="org/jboss/test/webservice/fix-jaxrpc-ejb21/*TestCase.class"/>
+               <include name="org/jboss/test/webservice/**/*TestCase.class"/>
                <exclude name="org/jboss/test/webservice/jbws309/**"/>
             </fileset>
          </batchtest>




More information about the jboss-cvs-commits mailing list