[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