[jboss-cvs] JBossAS SVN: r65867 - in projects/metadata/trunk/src: main/java/org/jboss/metadata/ejb/jboss and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 4 21:18:19 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-04 21:18:19 -0400 (Thu, 04 Oct 2007)
New Revision: 65867

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/EjbPortComponentMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/PortComponent.java
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml
Log:
Add the session bean port-component support

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java	2007-10-05 00:28:17 UTC (rev 65866)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java	2007-10-05 01:18:19 UTC (rev 65867)
@@ -33,6 +33,8 @@
 import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
 import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
@@ -424,6 +426,13 @@
       return new PermissionMethodMetaDataIterator(methodPermissions);
    }
 
+   public EjbPortComponentMetaData getPortComponent()
+   {
+      JBossMetaData jmd = getDelegate().getJBossMetaDataWithCheck();
+      JBossSessionBeanMetaData jebmd = (JBossSessionBeanMetaData) jmd.getEnterpriseBean(this.getEjbName());
+      return new EjbPortComponentMetaData(jebmd.getPortComponent());
+   }
+
    /**
     * Get the excluded methods
     * 

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/EjbPortComponentMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/EjbPortComponentMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/EjbPortComponentMetaData.java	2007-10-05 01:18:19 UTC (rev 65867)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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;
+
+import java.io.Serializable;
+
+import org.jboss.metadata.ejb.jboss.PortComponent;
+
+/** 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
+  implements Serializable
+{
+  private static final long serialVersionUID = 1;
+
+  private PortComponent portComponent;
+
+  public EjbPortComponentMetaData(PortComponent portComponent)
+  {
+     this.portComponent = portComponent;
+  }
+
+  public String getPortComponentName()
+  {
+     return portComponent.getPortComponentName();
+  }
+
+  public String getPortComponentURI()
+  {
+     return portComponent.getPortComponentURI();
+  }
+
+  public String getURLPattern()
+  {
+     return portComponent.getURLPattern();
+  }
+
+  public String getAuthMethod()
+  {
+     return portComponent.getAuthMethod();
+  }
+
+  public String getTransportGuarantee()
+  {
+     return portComponent.getTransportGuarantee();
+  }
+
+  public Boolean getSecureWSDLAccess()
+  {
+     return portComponent.getSecureWSDLAccess();
+  }
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/EjbPortComponentMetaData.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2007-10-05 00:28:17 UTC (rev 65866)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2007-10-05 01:18:19 UTC (rev 65867)
@@ -55,9 +55,10 @@
    
    /** The determined cluster config */
    private transient ClusterConfigMetaData determinedClusterConfig;
-   
-   // TODO webservice port-component
-   
+
+   /** The webservices port-component */
+   private PortComponent portComponent;
+
    /** The ejb timeout identity */
    private SecurityIdentityMetaData ejbTimeoutIdentity;
 
@@ -327,6 +328,17 @@
       this.clusterConfig = clusterConfig;
    }
 
+
+   public PortComponent getPortComponent()
+   {
+      return portComponent;
+   }
+
+   public void setPortComponent(PortComponent portComponent)
+   {
+      this.portComponent = portComponent;
+   }
+
    /**
     * Get the remoteBinding.
     * 

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/PortComponent.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/PortComponent.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/PortComponent.java	2007-10-05 01:18:19 UTC (rev 65867)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.ejb.jboss;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+
+/**
+ * The webservice port-component information.
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at XmlType(name="port-componentType")
+public class PortComponent extends IdMetaDataImpl
+{
+   private static final long serialVersionUID = 1;
+
+   private String portComponentName;
+   private String portComponentURI;
+   private String authMethod;
+   private String transportGuarantee;
+   private boolean secureWSDLAccess;
+
+   public PortComponent()
+   {
+   }
+
+   public String getPortComponentName()
+   {
+      return portComponentName;
+   }
+
+   public void setPortComponentName(String portComponentName)
+   {
+      this.portComponentName = portComponentName;
+   }
+
+   public String getPortComponentURI()
+   {
+      return portComponentURI;
+   }
+
+   @XmlElement(name="port-component-uri")
+   public void setPortComponentURI(String portComponentURI)
+   {
+      this.portComponentURI = portComponentURI;
+   }
+
+   @XmlTransient
+   public String getURLPattern()
+   {
+      String pattern = "/*";
+      if (portComponentURI != null)
+         pattern = portComponentURI;
+
+      return pattern;
+   }
+
+   public String getAuthMethod()
+   {
+      return authMethod;
+   }
+
+   public void setAuthMethod(String authMethod)
+   {
+      this.authMethod = authMethod;
+   }
+
+   public String getTransportGuarantee()
+   {
+      return transportGuarantee;
+   }
+
+   public void setTransportGuarantee(String transportGuarantee)
+   {
+      this.transportGuarantee = transportGuarantee;
+   }
+
+   public boolean getSecureWSDLAccess()
+   {
+      return secureWSDLAccess;
+   }
+
+   @XmlElement(name="secure-wsdl-access")
+   public void setSecureWSDLAccess(boolean secureWSDLAccess)
+   {
+      this.secureWSDLAccess = secureWSDLAccess;
+   }
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/PortComponent.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java	2007-10-05 00:28:17 UTC (rev 65866)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java	2007-10-05 01:18:19 UTC (rev 65867)
@@ -44,6 +44,7 @@
 import org.jboss.metadata.ejb.jboss.IORTransportConfigMetaData;
 import org.jboss.metadata.ejb.jboss.MethodAttributeMetaData;
 import org.jboss.metadata.ejb.jboss.MethodAttributesMetaData;
+import org.jboss.metadata.ejb.jboss.PortComponent;
 import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
 import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
 import org.jboss.metadata.ejb.spec.ActivationConfigPropertiesMetaData;
@@ -1136,7 +1137,16 @@
       assertIORASContext(ejbName, iorSecurityConfig.getAsContext());
       assertIORSASContext(ejbName, iorSecurityConfig.getSasContext());
    }
-
+   protected void assertPortComponent(String prefix, PortComponent portComponent)
+   {
+      assertNotNull(portComponent);
+      assertId(prefix+"PortComponent", portComponent);
+      assertEquals(prefix+"-PortComponent", portComponent.getPortComponentName());
+      assertEquals("/"+prefix+"/PortComponentURI", portComponent.getPortComponentURI());
+      assertEquals("BASIC", portComponent.getAuthMethod());
+      assertEquals("NONE", portComponent.getTransportGuarantee());
+      assertEquals(true, portComponent.getSecureWSDLAccess());
+   }
    protected void assertIORSecurityConfig(String ejbName, IorSecurityConfigMetaData iorSecurityConfig)
    {
       assertNotNull(iorSecurityConfig);

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2007-10-05 00:28:17 UTC (rev 65866)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2007-10-05 01:18:19 UTC (rev 65867)
@@ -43,6 +43,7 @@
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.jboss.LoaderRepositoryConfigMetaData;
 import org.jboss.metadata.ejb.jboss.LoaderRepositoryMetaData;
+import org.jboss.metadata.ejb.jboss.PortComponent;
 import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
 import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
 import org.jboss.metadata.ejb.jboss.WebserviceDescriptionMetaData;
@@ -444,8 +445,8 @@
       
       assertIORSecurityConfig(prefix, session.getIorSecurityConfig());
       
-      // TODO webservice port-component
-      
+      assertPortComponent(prefix, session.getPortComponent());
+
       assertSecurityIdentity(prefix, "EjbTimeoutIdentity", session.getEjbTimeoutIdentity(), false);
       
       assertAnnotations(prefix, 2, session.getAnnotations());
@@ -467,7 +468,7 @@
       
       assertJndiRefs(prefix, 2, session.getJndiRefs());
    }
-   
+
    private void assertNullSessionBean(String prefix, JBossMetaData jbossMetaData)
    {
       JBossSessionBeanMetaData session = assertJBossSessionBean(prefix, jbossMetaData);

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java	2007-10-05 00:28:17 UTC (rev 65866)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java	2007-10-05 01:18:19 UTC (rev 65867)
@@ -100,7 +100,7 @@
    protected void assertId(String prefix, Object object)
    {
       assertNotNull(object);
-      assertTrue(object instanceof IdMetaData);
+      assertTrue(object.getClass()+" is an IdMetaData", object instanceof IdMetaData);
       IdMetaData idMetaData = (IdMetaData) object;
       assertEquals(prefix + "-id", idMetaData.getId());
    }

Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml	2007-10-05 00:28:17 UTC (rev 65866)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss5xEverything_testEverything.xml	2007-10-05 01:18:19 UTC (rev 65867)
@@ -328,7 +328,7 @@
             <bean-load-balancing-policy>session1ClusterConfigBeanLoadBalancingPolicy</bean-load-balancing-policy>
             <session-state-manager-jndi-name>session1ClusterConfigSessionStateManagerJndiName</session-state-manager-jndi-name>
          </cluster-config>
-         
+
          <security-domain>session1SecurityDomain</security-domain>
          
          <method-attributes id="session1MethodAttributes-id">
@@ -377,8 +377,14 @@
             </sas-context>
          </ior-security-config>
          
-         <!-- TODO port component -->
-
+         <port-component id="session1PortComponent-id">
+            <port-component-name>session1-PortComponent</port-component-name>
+            <port-component-uri>/session1/PortComponentURI</port-component-uri>
+            <auth-method>BASIC</auth-method>
+            <transport-guarantee>NONE</transport-guarantee>
+            <secure-wsdl-access>true</secure-wsdl-access>
+         </port-component>
+         
          <ejb-timeout-identity id="session1EjbTimeoutIdentity-id">
             <jee:description>en-session1EjbTimeoutIdentity-desc</jee:description>
             <jee:description xml:lang="fr">fr-session1EjbTimeoutIdentity-desc</jee:description>
@@ -758,7 +764,7 @@
             <bean-load-balancing-policy>session2ClusterConfigBeanLoadBalancingPolicy</bean-load-balancing-policy>
             <session-state-manager-jndi-name>session2ClusterConfigSessionStateManagerJndiName</session-state-manager-jndi-name>
          </cluster-config>
-         
+
          <security-domain>session2SecurityDomain</security-domain>
          
          <method-attributes id="session2MethodAttributes-id">
@@ -807,7 +813,13 @@
             </sas-context>
          </ior-security-config>
          
-         <!-- TODO port component -->
+         <port-component id="session2PortComponent-id">
+            <port-component-name>session2-PortComponent</port-component-name>
+            <port-component-uri>/session2/PortComponentURI</port-component-uri>
+            <auth-method>BASIC</auth-method>
+            <transport-guarantee>NONE</transport-guarantee>
+            <secure-wsdl-access>true</secure-wsdl-access>
+         </port-component>         
          
          <ejb-timeout-identity id="session2EjbTimeoutIdentity-id">
             <jee:description>en-session2EjbTimeoutIdentity-desc</jee:description>




More information about the jboss-cvs-commits mailing list