Author: thomas.diesler(a)jboss.com
Date: 2006-12-12 08:17:22 -0500 (Tue, 12 Dec 2006)
New Revision: 1632
Modified:
trunk/src/main/java/org/jboss/ws/core/server/UnifiedDeploymentInfo.java
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCClientMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCServerMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/metadata/jaxrpcmapping/JavaWsdlMappingFactory.java
trunk/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java
Log:
Use resource url for jaxrpc-mapping
Modified: trunk/src/main/java/org/jboss/ws/core/server/UnifiedDeploymentInfo.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/core/server/UnifiedDeploymentInfo.java 2006-12-12
12:53:06 UTC (rev 1631)
+++ trunk/src/main/java/org/jboss/ws/core/server/UnifiedDeploymentInfo.java 2006-12-12
13:17:22 UTC (rev 1632)
@@ -73,36 +73,33 @@
return name;
}
- public URL getMetaDataFile(String resource) throws IOException
+ public URL getMetaDataFile(String resourcePath) throws IOException
{
- URL targetURL = null;
- if (resource != null && resource.length() > 0)
+ URL resourceURL = null;
+ if (resourcePath != null && resourcePath.length() > 0)
{
- if (resource.startsWith("/"))
- resource = resource.substring(1);
+ if (resourcePath.startsWith("/"))
+ resourcePath = resourcePath.substring(1);
try
{
// assign an absolute URL
- targetURL = new URL(resource);
+ resourceURL = new URL(resourcePath);
}
catch (MalformedURLException ex)
{
- // assign a relative URL
- String depPath = url.toExternalForm();
- if (depPath.startsWith("jar:"))
- {
- if(depPath.endsWith("!/") == false)
- depPath += "!/";
- }
+ String deploymentPath = url.toExternalForm();
+ if (deploymentPath.startsWith("jar:") &&
deploymentPath.endsWith("!/") == false)
+ deploymentPath += "!/";
- if(depPath.endsWith("/") == false)
- depPath += "/";
+ if(deploymentPath.endsWith("/") == false)
+ deploymentPath += "/";
- targetURL = new URL(depPath + resource);
+ // assign a relative URL
+ resourceURL = new URL(deploymentPath + resourcePath);
}
}
- return targetURL;
+ return resourceURL;
}
public String toString()
Modified:
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCClientMetaDataBuilder.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCClientMetaDataBuilder.java 2006-12-12
12:53:06 UTC (rev 1631)
+++
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCClientMetaDataBuilder.java 2006-12-12
13:17:22 UTC (rev 1632)
@@ -116,7 +116,7 @@
{
mappingURL = new URL(Constants.NS_JBOSSWS_URI +
"/dummy-mapping-url");
wsMetaData.addMappingDefinition(mappingURL.toExternalForm(),
javaWsdlMapping);
- serviceMetaData.setJaxrpcMappingFile(mappingURL.toExternalForm());
+ serviceMetaData.setMappingLocation(mappingURL);
}
if (securityConfig != null)
Modified:
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCServerMetaDataBuilder.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCServerMetaDataBuilder.java 2006-12-12
12:53:06 UTC (rev 1631)
+++
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCServerMetaDataBuilder.java 2006-12-12
13:17:22 UTC (rev 1632)
@@ -90,7 +90,8 @@
WSDLDefinitions wsdlDefinitions = serviceMetaData.getWsdlDefinitions();
// Unmarshall the jaxrpc-mapping.xml
- serviceMetaData.setJaxrpcMappingFile(wsdMetaData.getJaxrpcMappingFile());
+ String mappingFile = wsdMetaData.getJaxrpcMappingFile();
+ serviceMetaData.setMappingLocation(udi.getMetaDataFile(mappingFile));
JavaWsdlMapping javaWsdlMapping = serviceMetaData.getJavaWsdlMapping();
if (javaWsdlMapping == null)
throw new WSException("jaxrpc-mapping-file not configured from
webservices.xml");
Modified:
trunk/src/main/java/org/jboss/ws/metadata/jaxrpcmapping/JavaWsdlMappingFactory.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/metadata/jaxrpcmapping/JavaWsdlMappingFactory.java 2006-12-12
12:53:06 UTC (rev 1631)
+++
trunk/src/main/java/org/jboss/ws/metadata/jaxrpcmapping/JavaWsdlMappingFactory.java 2006-12-12
13:17:22 UTC (rev 1632)
@@ -30,6 +30,7 @@
import javax.xml.namespace.QName;
import org.jboss.logging.Logger;
+import org.jboss.ws.core.utils.ResourceURL;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
@@ -64,16 +65,16 @@
/**
* Factory method for JavaWsdlMapping
*/
- public JavaWsdlMapping parse(URL jaxrpcMappingFile) throws IOException
+ public JavaWsdlMapping parse(URL mappingLocation) throws IOException
{
- if (jaxrpcMappingFile == null)
+ if (mappingLocation == null)
{
throw new IllegalArgumentException("URL cannot be null");
}
// setup the XML binding Unmarshaller
Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
- InputStream is = jaxrpcMappingFile.openStream();
+ InputStream is = new ResourceURL(mappingLocation).openStream();
try
{
JavaWsdlMapping javaWsdlMapping = (JavaWsdlMapping)unmarshaller.unmarshal(is,
this, null);
@@ -81,7 +82,7 @@
}
catch (JBossXBException e)
{
- IOException ioex = new IOException("Cannot parse: " +
jaxrpcMappingFile);
+ IOException ioex = new IOException("Cannot parse: " +
mappingLocation);
Throwable cause = e.getCause();
if (cause != null)
ioex.initCause(cause);
Modified: trunk/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java 2006-12-12
12:53:06 UTC (rev 1631)
+++ trunk/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java 2006-12-12
13:17:22 UTC (rev 1632)
@@ -24,7 +24,6 @@
// $Id$
import java.io.IOException;
-import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -72,7 +71,7 @@
private QName serviceName;
private String wsdName;
private URL wsdlLocation;
- private String jaxrpcMappingFile;
+ private URL mappingLocation;
private String wsdlPublishLocation;
// The type mapping that is maintained by this service
@@ -196,48 +195,35 @@
endpoints.put(portName, epMetaData);
}
- public String getJaxrpcMappingFile()
+ public URL getMappingLocation()
{
- return jaxrpcMappingFile;
+ return mappingLocation;
}
- public void setJaxrpcMappingFile(String jaxrpcMappingFile)
+ public void setMappingLocation(URL mappingLocation)
{
- this.jaxrpcMappingFile = jaxrpcMappingFile;
+ this.mappingLocation = mappingLocation;
}
public JavaWsdlMapping getJavaWsdlMapping()
{
- JavaWsdlMapping javaWsdlMapping =
(JavaWsdlMapping)wsMetaData.getMappingDefinition(jaxrpcMappingFile);
- if (javaWsdlMapping == null && jaxrpcMappingFile != null)
+ JavaWsdlMapping javaWsdlMapping = null;
+ if (mappingLocation != null)
{
- URL mappingLocation = null;
- try
+ javaWsdlMapping =
(JavaWsdlMapping)wsMetaData.getMappingDefinition(mappingLocation.toExternalForm());
+ if (javaWsdlMapping == null)
{
- mappingLocation = new URL(jaxrpcMappingFile);
+ try
+ {
+ JavaWsdlMappingFactory mappingFactory =
JavaWsdlMappingFactory.newInstance();
+ javaWsdlMapping = mappingFactory.parse(mappingLocation);
+ wsMetaData.addMappingDefinition(mappingLocation.toExternalForm(),
javaWsdlMapping);
+ }
+ catch (IOException e)
+ {
+ throw new WSException("Cannot parse jaxrpc-mapping.xml", e);
+ }
}
- catch (MalformedURLException e)
- {
- // ignore
- }
- if (mappingLocation == null)
- {
- mappingLocation =
wsMetaData.getClassLoader().getResource(jaxrpcMappingFile);
- }
-
- if (mappingLocation == null)
- throw new IllegalArgumentException("Cannot find jaxrpc-mapping.xml in
deployment: " + jaxrpcMappingFile);
-
- try
- {
- JavaWsdlMappingFactory mappingFactory =
JavaWsdlMappingFactory.newInstance();
- javaWsdlMapping = mappingFactory.parse(mappingLocation);
- wsMetaData.addMappingDefinition(jaxrpcMappingFile, javaWsdlMapping);
- }
- catch (IOException e)
- {
- throw new WSException("Cannot parse jaxrpc-mapping.xml", e);
- }
}
return javaWsdlMapping;
}
@@ -381,7 +367,7 @@
buffer.append("\n qname=" + serviceName);
buffer.append("\n wsdName=" + wsdName);
buffer.append("\n wsdlFile=" + wsdlLocation);
- buffer.append("\n jaxrpcFile=" + jaxrpcMappingFile);
+ buffer.append("\n jaxrpcFile=" + mappingLocation);
buffer.append("\n publishLocation=" + wsdlPublishLocation);
buffer.append("\n properties=" + properties);
buffer.append("\n" + types);
Show replies by date