Author: thomas.diesler(a)jboss.com
Date: 2007-04-14 08:34:04 -0400 (Sat, 14 Apr 2007)
New Revision: 2844
Modified:
trunk/integration-jboss50/src/java/org/jboss/ws/integration/jboss50/ApplicationMetaDataAdaptor.java
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCServerMetaDataBuilder.java
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSProviderMetaDataBuilder.java
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSServerMetaDataBuilder.java
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java
trunk/jbossws-core/src/java/org/jboss/ws/metadata/j2ee/UnifiedApplicationMetaData.java
Log:
Cleanup <webservices> handling in jboss.xml
Modified:
trunk/integration-jboss50/src/java/org/jboss/ws/integration/jboss50/ApplicationMetaDataAdaptor.java
===================================================================
---
trunk/integration-jboss50/src/java/org/jboss/ws/integration/jboss50/ApplicationMetaDataAdaptor.java 2007-04-14
12:27:19 UTC (rev 2843)
+++
trunk/integration-jboss50/src/java/org/jboss/ws/integration/jboss50/ApplicationMetaDataAdaptor.java 2007-04-14
12:34:04 UTC (rev 2844)
@@ -41,6 +41,8 @@
import org.jboss.metadata.EjbPortComponentMetaData;
import org.jboss.metadata.MessageDrivenMetaData;
import org.jboss.metadata.SessionMetaData;
+import org.jboss.metadata.ApplicationMetaData.WebserviceDescription;
+import org.jboss.metadata.ApplicationMetaData.Webservices;
import org.jboss.ws.metadata.j2ee.UnifiedApplicationMetaData;
import org.jboss.ws.metadata.j2ee.UnifiedBeanMetaData;
import org.jboss.ws.metadata.j2ee.UnifiedEjbPortComponentMetaData;
@@ -105,7 +107,7 @@
ubmd.setPortComponent(ejbPortComp);
}
-
+
ubmdList.add(ubmd);
}
}
@@ -114,21 +116,43 @@
{
UnifiedApplicationMetaData umd = new UnifiedApplicationMetaData();
buildUnifiedBeanMetaData(umd, apmd);
- umd.setConfigName(apmd.getConfigName());
- umd.setConfigFile(apmd.getConfigFile());
- umd.setWebServiceContextRoot(apmd.getWebServiceContextRoot());
+ buildWebservicesMetaData(umd, apmd);
umd.setSecurityDomain(apmd.getSecurityDomain());
- umd.setPublishLocationAdapter(getPublishLocationAdpater(apmd));
return umd;
}
- private static PublishLocationAdapter getPublishLocationAdpater(final
ApplicationMetaData apmd)
+ private static void buildWebservicesMetaData(UnifiedApplicationMetaData umd,
ApplicationMetaData apmd)
{
+ Webservices webservices = apmd.getWebservices();
+ if (webservices != null)
+ {
+ umd.setWebServiceContextRoot(webservices.getContextRoot());
+ umd.setPublishLocationAdapter(getPublishLocationAdpater(webservices));
+
+ if (webservices.getWebserviceDescriptions().size() > 1)
+ log.warn("Multiple <webservice-description> elements not
supported");
+
+ WebserviceDescription wsd = webservices.getWebserviceDescriptions().get(0);
+ umd.setConfigName(wsd.getConfigName());
+ umd.setConfigFile(wsd.getConfigFile());
+ }
+ }
+
+ private static PublishLocationAdapter getPublishLocationAdpater(final Webservices
webservices)
+ {
return new PublishLocationAdapter()
{
public String getWsdlPublishLocationByName(String name)
{
- return apmd.getWsdlPublishLocationByName(name);
+ String wsdlPublishLocation = null;
+ for (WebserviceDescription wsd : webservices.getWebserviceDescriptions())
+ {
+ if (wsd.getDescriptionName().equals(name))
+ {
+ wsdlPublishLocation = wsd.getWsdlPublishLocation();
+ }
+ }
+ return wsdlPublishLocation;
}
};
}
Modified: trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java
===================================================================
---
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java 2007-04-14
12:27:19 UTC (rev 2843)
+++
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java 2007-04-14
12:34:04 UTC (rev 2844)
@@ -128,8 +128,9 @@
}
}
- public static void initEndpointAddress(UnifiedDeploymentInfo udi,
ServerEndpointMetaData sepMetaData, String linkName)
+ protected void initEndpointAddress(UnifiedDeploymentInfo udi, ServerEndpointMetaData
sepMetaData, String linkName)
{
+ // For JAXWS these may have been set by @WebContext attributes
String contextRoot = sepMetaData.getContextRoot();
String urlPattern = sepMetaData.getURLPattern();
Modified:
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCServerMetaDataBuilder.java
===================================================================
---
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCServerMetaDataBuilder.java 2007-04-14
12:27:19 UTC (rev 2843)
+++
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCServerMetaDataBuilder.java 2007-04-14
12:34:04 UTC (rev 2844)
@@ -66,7 +66,7 @@
*/
public UnifiedMetaData buildMetaData(JAXRPCDeployment udi)
{
- if(log.isDebugEnabled()) log.debug("START buildMetaData: [name=" +
udi.getCanonicalName() + "]");
+ log.debug("START buildMetaData: [name=" + udi.getCanonicalName() +
"]");
try
{
// For every webservice-description build the ServiceMetaData
@@ -233,7 +233,7 @@
}
}
- if(log.isDebugEnabled()) log.debug("END buildMetaData: " +
wsMetaData);
+ log.debug("END buildMetaData: " + wsMetaData);
return wsMetaData;
}
catch (RuntimeException rte)
Modified:
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSProviderMetaDataBuilder.java
===================================================================
---
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSProviderMetaDataBuilder.java 2007-04-14
12:27:19 UTC (rev 2843)
+++
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSProviderMetaDataBuilder.java 2007-04-14
12:34:04 UTC (rev 2844)
@@ -137,7 +137,7 @@
processWebContext(udi, sepClass, linkName, sepMetaData);
// Init the endpoint address
- MetaDataBuilder.initEndpointAddress(udi, sepMetaData, linkName);
+ initEndpointAddress(udi, sepMetaData, linkName);
// A provider may not have a WSDL file
if (sepMetaData.getServiceMetaData().getWsdlLocation() != null)
Modified:
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSServerMetaDataBuilder.java
===================================================================
---
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSServerMetaDataBuilder.java 2007-04-14
12:27:19 UTC (rev 2843)
+++
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSServerMetaDataBuilder.java 2007-04-14
12:34:04 UTC (rev 2844)
@@ -88,9 +88,10 @@
if (anWebContext.contextRoot().length() > 0)
{
if (isJSEEndpoint)
+ {
log.warn("(a)WebContext.contextRoot is only valid on EJB
endpoints");
-
- if (isJSEEndpoint == false)
+ }
+ else
{
String contextRoot = anWebContext.contextRoot();
if (contextRoot.startsWith("/") == false)
@@ -104,9 +105,10 @@
if (anWebContext.urlPattern().length() > 0)
{
if (isJSEEndpoint)
+ {
log.warn("(a)WebContext.urlPattern is only valid on EJB endpoints");
-
- if (isJSEEndpoint == false)
+ }
+ else
{
String urlPattern = anWebContext.urlPattern();
sepMetaData.setURLPattern(urlPattern);
@@ -117,9 +119,10 @@
if (anWebContext.authMethod().length() > 0)
{
if (isJSEEndpoint)
+ {
log.warn("(a)WebContext.authMethod is only valid on EJB endpoints");
-
- if (isJSEEndpoint == false)
+ }
+ else
{
String authMethod = anWebContext.authMethod();
sepMetaData.setAuthMethod(authMethod);
@@ -130,9 +133,10 @@
if (anWebContext.transportGuarantee().length() > 0)
{
if (isJSEEndpoint)
+ {
log.warn("(a)WebContext.transportGuarantee is only valid on EJB
endpoints");
-
- if (isJSEEndpoint == false)
+ }
+ else
{
String transportGuarantee = anWebContext.transportGuarantee();
sepMetaData.setTransportGuarantee(transportGuarantee);
@@ -148,6 +152,5 @@
{
sepMetaData.setVirtualHosts(virtualHosts);
}
-
}
}
Modified:
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java
===================================================================
---
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java 2007-04-14
12:27:19 UTC (rev 2843)
+++
trunk/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java 2007-04-14
12:34:04 UTC (rev 2844)
@@ -161,7 +161,7 @@
processWSDDContribution(sepMetaData);
// Init the endpoint address
- MetaDataBuilder.initEndpointAddress(udi, sepMetaData, linkName);
+ initEndpointAddress(udi, sepMetaData, linkName);
// Process an optional @SOAPMessageHandlers annotation
if (sepClass.isAnnotationPresent(SOAPMessageHandlers.class) ||
seiClass.isAnnotationPresent(SOAPMessageHandlers.class))
Modified:
trunk/jbossws-core/src/java/org/jboss/ws/metadata/j2ee/UnifiedApplicationMetaData.java
===================================================================
---
trunk/jbossws-core/src/java/org/jboss/ws/metadata/j2ee/UnifiedApplicationMetaData.java 2007-04-14
12:27:19 UTC (rev 2843)
+++
trunk/jbossws-core/src/java/org/jboss/ws/metadata/j2ee/UnifiedApplicationMetaData.java 2007-04-14
12:34:04 UTC (rev 2844)
@@ -117,9 +117,7 @@
public String getWsdlPublishLocationByName(String name)
{
- String publishLocation = null;
- if (publishLocationAdapter != null)
- publishLocation = publishLocationAdapter.getWsdlPublishLocationByName(name);
+ String publishLocation = (publishLocationAdapter != null ?
publishLocationAdapter.getWsdlPublishLocationByName(name) : null);
return publishLocation;
}