[jboss-cvs] JBossAS SVN: r61897 - in trunk: server/src/main/org/jboss/metamodel/descriptor and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 30 12:49:32 EDT 2007


Author: heiko.braun at jboss.com
Date: 2007-03-30 12:49:31 -0400 (Fri, 30 Mar 2007)
New Revision: 61897

Added:
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/Ejb3PortComponent.java
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/WebserviceDescription.java
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/Webservices.java
Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDD.java
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EnterpriseBeans.java
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/SessionEnterpriseBean.java
   trunk/server/src/main/org/jboss/metamodel/descriptor/DDObjectFactory.java
Log:
Added missing webservice elements to ejb-dd and jboss-ejb-dd

Added: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/Ejb3PortComponent.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/Ejb3PortComponent.java	                        (rev 0)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/Ejb3PortComponent.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -0,0 +1,88 @@
+package org.jboss.ejb3.metamodel;
+
+public class Ejb3PortComponent
+{
+    private static final long serialVersionUID = 1;
+
+   private SessionEnterpriseBean sessionMetaData;
+
+   private String portComponentName;
+   private String portComponentURI;
+   private String authMethod;
+   private String transportGuarantee;
+   private Boolean secureWSDLAccess;
+
+
+   public Ejb3PortComponent()
+   {
+   }
+
+   public Ejb3PortComponent(SessionEnterpriseBean sessionMetaData)
+   {
+      this.sessionMetaData = sessionMetaData;
+   }
+
+   public SessionEnterpriseBean getSessionMetaData()
+   {
+      return sessionMetaData;
+   }
+
+   public String getPortComponentName()
+   {
+      return portComponentName;
+   }
+
+   public void setPortComponentName(String portComponentName)
+   {
+      this.portComponentName = portComponentName;
+   }
+
+   public String getPortComponentURI()
+   {
+      return portComponentURI;
+   }
+
+   public void setPortComponentURI(String portComponentURI)
+   {
+      this.portComponentURI = portComponentURI;
+   }
+
+   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;
+   }
+
+   public void setSecureWSDLAccess(Boolean secureWSDLAccess)
+   {
+      this.secureWSDLAccess = secureWSDLAccess;
+   }
+}

Modified: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDD.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDD.java	2007-03-30 16:48:25 UTC (rev 61896)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDD.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -22,6 +22,8 @@
 package org.jboss.ejb3.metamodel;
 
 import java.util.HashMap;
+import java.util.List;
+import java.util.ArrayList;
 
 import org.jboss.logging.Logger;
 
@@ -56,7 +58,9 @@
 
    // both
    private EnterpriseBeans enterpriseBeans;
-   
+
+   private List<Webservices> webservices = new ArrayList<Webservices>();
+
    public void addResourceManager(ResourceManager manager)
    {
       resourceManagers.put(manager.getResourceName(), manager);
@@ -161,6 +165,11 @@
       this.assemblyDescriptor = assemblyDescriptor;
    }
 
+   public List<Webservices> getWebservices()
+   {
+      return webservices;
+   }
+
    public String toString()
    {
       StringBuffer sb = new StringBuffer(100);

Modified: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EnterpriseBeans.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EnterpriseBeans.java	2007-03-30 16:48:25 UTC (rev 61896)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/EnterpriseBeans.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -123,7 +123,14 @@
    {
       return currentEjb.getServiceRef(name);
    }
-   
+
+   public void addPortComponent(Ejb3PortComponent portComp)
+   {
+      if(! (currentEjb instanceof SessionEnterpriseBean) )
+         throw new IllegalArgumentException("Cannot add portComponent to " + currentEjb);
+      ((SessionEnterpriseBean)currentEjb).getPortComponents().add(portComp);   
+   }  
+
    public void setMethodAttributes(MethodAttributes attributes)
    {
       currentEjb.setMethodAttributes(attributes);

Modified: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java	2007-03-30 16:48:25 UTC (rev 61896)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -137,6 +137,11 @@
          return child;
 
       // space for more
+      if (localName.equals("webservices"))
+      {
+         // TODO: Similiar delegate mechanism as for <service-ref>
+         System.out.println("** Skip <webservices> element in JBossClientDDObjectfactory **");
+      }
 
       return child;
    }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java	2007-03-30 16:48:25 UTC (rev 61896)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -135,6 +135,10 @@
       {
          child = new ResourceManager();
       }
+      else if (localName.equals("webservices"))
+      {         
+         child = new Webservices();
+      }
 
       return child;
    }
@@ -214,6 +218,21 @@
    /**
     * Called when parsing of a new element started.
     */
+   public Object newChild(Webservices webservices, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+   {
+      Object child = null;
+    
+      if (localName.equals("webservice-description"))
+      {
+         child = new WebserviceDescription();
+      }
+      
+      return child;
+   }
+
+   /**
+    * Called when parsing of a new element started.
+    */
    public Object newChild(CurrentMessage message, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
       Object child = null;
@@ -337,9 +356,13 @@
       {
          child = new ActivationConfig();
       }
+      else if (localName.equals("port-component") && ejbClass == SessionEnterpriseBean.class)
+      {
+         child = new Ejb3PortComponent();
+      }
 
       return child;
-   }
+   }   
 
    public Object newChild(ActivationConfig parent, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
@@ -369,6 +392,11 @@
       return child;
    }
 
+   public void addChild(SessionEnterpriseBean parent, Ejb3PortComponent portComp, UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      parent.getPortComponents().add(portComp);
+   }
+
    public void addChild(XmlAnnotation parent, NameValuePair property, UnmarshallingContext navigator, String namespaceURI, String localName)
    {
       parent.addProperty(property);
@@ -450,6 +478,11 @@
       parent.addXmlAnnotation(xmlAnnotation);
    }
 
+   public void addChild(EnterpriseBeans parent, Ejb3PortComponent portComp, UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      parent.addPortComponent(portComp);
+   }
+
    public void addChild(MethodAttributes parent, Method method, UnmarshallingContext navigator, String namespaceURI, String localName)
    {
       parent.addMethod(method);
@@ -596,6 +629,14 @@
    /**
     * Called when parsing character is complete.
     */
+   public void addChild(Webservices parent, WebserviceDescription desc, UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      parent.addWebserviceDescription(desc);
+   }
+
+   /**
+    * Called when parsing character is complete.
+    */
    public void addChild(EnterpriseBeans parent, JndiRef ref, UnmarshallingContext navigator, String namespaceURI, String localName)
    {
       parent.addJndiRef(ref);
@@ -612,6 +653,14 @@
    /**
     * Called when parsing character is complete.
     */
+   public void addChild(EjbJarDD parent, Webservices webservices, UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      parent.getWebservices().add(webservices);
+   }
+
+   /**
+    * Called when parsing character is complete.
+    */
    public void addChild(EnterpriseBeans parent, EnterpriseBeans ejbs, UnmarshallingContext navigator, String namespaceURI, String localName)
    {
    }
@@ -675,7 +724,7 @@
       {
          targetRef.merge(sref);
       }
-   }
+   }   
 
    /**
     * Called when parsing character is complete.
@@ -1071,6 +1120,68 @@
    /**
     * Called when a child element with simple content is read for DD.
     */
+   public void setValue(Webservices webservices, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+   {
+      if (localName.equals("context-root"))
+      {
+         webservices.setContextRoot(value);
+      }
+   }
+
+    /**
+    * Called when a child element with simple content is read for DD.
+    */
+   public void setValue(Ejb3PortComponent portComp, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+   {
+      // port-component (port-component-name, port-component-uri?, auth-method?,
+      if (localName.equals("port-component-name"))
+      {
+         portComp.setPortComponentName(value);
+      }
+      else if (localName.equals("port-component-uri"))
+      {
+         portComp.setPortComponentURI(value);
+      }
+      else if (localName.equals("transport-guarantee"))
+      {
+         portComp.setTransportGuarantee(value);
+      }
+      else if (localName.equals("auth-method"))
+      {
+         portComp.setAuthMethod(value);
+      }
+      else if (localName.equals("secure-wsdl-access"))
+      {
+         portComp.setSecureWSDLAccess(Boolean.valueOf(value));
+      }
+   }
+
+   /**
+    * Called when a child element with simple content is read for DD.
+    */
+   public void setValue(WebserviceDescription desc, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+   {
+      if (localName.equals("webservice-description-name"))
+      {
+         desc.setName(value);
+      }
+      else if (localName.equals("config-name"))
+      {
+         desc.setConfigName(value);
+      }
+      else if (localName.equals("config-file"))
+      {
+         desc.setConfigFile(value);
+      }
+      else if (localName.equals("wsdl-publish-location"))
+      {
+         desc.setLocation(value);
+      }
+   }
+
+   /**
+    * Called when a child element with simple content is read for DD.
+    */
    public void setValue(SecurityRoleMetaData srm, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
    {
       if (localName.equals("role-name"))

Modified: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/SessionEnterpriseBean.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/SessionEnterpriseBean.java	2007-03-30 16:48:25 UTC (rev 61896)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/SessionEnterpriseBean.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -58,6 +58,8 @@
    private CacheConfig cacheConfig = null;
    
    private String concurrent = null;
+
+   private List<Ejb3PortComponent> portComponents = new ArrayList<Ejb3PortComponent>();
    
    public CacheConfig getCacheConfig()
    {
@@ -190,7 +192,13 @@
    {
       this.prePassivate = prePassivate;
    }
-   
+
+
+   public List<Ejb3PortComponent> getPortComponents()
+   {
+      return portComponents;
+   }
+
    public String toString()
    {
       StringBuffer sb = new StringBuffer(100);

Added: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/WebserviceDescription.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/WebserviceDescription.java	                        (rev 0)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/WebserviceDescription.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -0,0 +1,54 @@
+package org.jboss.ejb3.metamodel;
+
+public class WebserviceDescription
+{
+   String name;
+   String configName;
+   String configFile;
+   String location;
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+   public String getConfigName()
+   {
+      return configName;
+   }
+
+   public void setConfigName(String configName)
+   {
+      this.configName = configName;
+   }
+
+   public String getConfigFile()
+   {
+      return configFile;
+   }
+
+   public void setConfigFile(String configFile)
+   {
+      this.configFile = configFile;
+   }
+
+   public String getLocation()
+   {
+      return location;
+   }
+
+   public void setLocation(String location)
+   {
+      this.location = location;
+   }
+
+   public String serialize()
+   {
+      throw new IllegalArgumentException("Not implemented");
+   }
+}

Added: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/Webservices.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/Webservices.java	                        (rev 0)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/Webservices.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -0,0 +1,101 @@
+package org.jboss.ejb3.metamodel;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Map;
+
+public class Webservices
+{
+   // The required <webservice-description> elements
+   private ArrayList<WebserviceDescription> webserviceDescriptions = new ArrayList<WebserviceDescription>();
+
+   // The URL to the webservices.xml descriptor
+   private URL descriptorURL;
+
+   private String contextRoot;
+
+   public Webservices()
+   {
+   }
+
+   public String getContextRoot()
+   {
+      return contextRoot;
+   }
+
+   public void setContextRoot(String contextRoot)
+   {
+      this.contextRoot = contextRoot;
+   }
+
+   public Webservices(URL descriptorURL)
+   {
+      this.descriptorURL = descriptorURL;
+   }
+
+   public URL getDescriptorURL()
+   {
+      return descriptorURL;
+   }
+
+   public void addWebserviceDescription(WebserviceDescription webserviceDescription)
+   {
+      webserviceDescriptions.add(webserviceDescription);
+   }
+
+   public WebserviceDescription[] getWebserviceDescriptions()
+   {
+      WebserviceDescription[] array = new WebserviceDescription[webserviceDescriptions.size()];
+      webserviceDescriptions.toArray(array);
+      return array;
+   }
+
+   //Serialize as a String
+   public String serialize()
+   {
+      //Construct the webservices.xml definitions
+      StringBuilder buffer = new StringBuilder();
+
+      // header: opening webservices tag
+      createHeader(buffer);
+
+      // webservice-description subelements
+      for (WebserviceDescription wm : webserviceDescriptions)
+         buffer.append(wm.serialize());
+
+      // closing webservices tag
+      buffer.append("</webservices>");
+      return buffer.toString();
+   }
+
+   private void createHeader(StringBuilder buf)
+   {
+      throw new IllegalArgumentException("Not implemented");
+
+      /*buf.append("<webservices xmlns='http://java.sun.com/xml/ns/j2ee'");
+      buf.append(" xmlns:xsi='").append(Constants.NS_SCHEMA_XSI).append('\'');
+      buf.append(" xsi:schemaLocation='http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd'");
+      buf.append(" version='1.1'>");
+      */
+   }
+
+   private String createAlternatePrefix(String prefix, Map<String, String> namespaces)
+   {
+      // allocate working buffer
+      StringBuilder altPrefixBuilder = new StringBuilder(prefix);
+      // remember original length
+      int baseLength = prefix.length();
+
+      for (int i = 2; i < Integer.MAX_VALUE; i++)
+      {
+         // append a natural number to the original prefix
+         String altPrefix = altPrefixBuilder.append(i).toString();
+         // if the alternate prefix does not match an existing one, we're done
+         if (!namespaces.containsKey(altPrefix))
+            return altPrefix;
+         // truncate buffer to original length
+         altPrefixBuilder.setLength(baseLength);
+      }
+      throw new IllegalArgumentException("could not create alternate prefix from: " + prefix);
+   }
+}

Modified: trunk/server/src/main/org/jboss/metamodel/descriptor/DDObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/metamodel/descriptor/DDObjectFactory.java	2007-03-30 16:48:25 UTC (rev 61896)
+++ trunk/server/src/main/org/jboss/metamodel/descriptor/DDObjectFactory.java	2007-03-30 16:49:31 UTC (rev 61897)
@@ -433,7 +433,7 @@
       else if (localName.equals("service-ref"))
       {
          child = new ServiceRefDelegate().newServiceRefMetaData();
-      }
+      }      
       else if (localName.equals("jndi-ref"))
       {
          child = new JndiRef();




More information about the jboss-cvs-commits mailing list