You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2010/05/05 16:41:07 UTC
svn commit: r941316 - in /cxf/branches/2.2.x-fixes: ./
api/src/main/java/org/apache/cxf/transport/
rt/core/src/main/java/org/apache/cxf/transport/http/
rt/core/src/test/java/org/apache/cxf/wsdl11/
rt/core/src/test/resources/folder with spaces/ rt/core/...
Author: dkulp
Date: Wed May 5 14:41:06 2010
New Revision: 941316
URL: http://svn.apache.org/viewvc?rev=941316&view=rev
Log:
Merged revisions 941315 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r941315 | dkulp | 2010-05-05 10:38:29 -0400 (Wed, 05 May 2010) | 2 lines
[CXF-2767] More fixes for spaces in dirs
Patch from William Tam applied
........
Added:
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/folder with spaces/
- copied from r941315, cxf/trunk/rt/core/src/test/resources/folder with spaces/
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/folder with spaces/import_test.wsdl
- copied unchanged from r941315, cxf/trunk/rt/core/src/test/resources/folder with spaces/import_test.wsdl
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/schema/
- copied from r941315, cxf/trunk/rt/core/src/test/resources/schema/
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/schema/folder with spaces/
- copied from r941315, cxf/trunk/rt/core/src/test/resources/schema/folder with spaces/
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/schema/folder with spaces/Schema1_In.xsd
- copied unchanged from r941315, cxf/trunk/rt/core/src/test/resources/schema/folder with spaces/Schema1_In.xsd
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/schema/folder with spaces/Schema1_Out.xsd
- copied unchanged from r941315, cxf/trunk/rt/core/src/test/resources/schema/folder with spaces/Schema1_Out.xsd
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/schema/folder with spaces/Schema2_In.xsd
- copied unchanged from r941315, cxf/trunk/rt/core/src/test/resources/schema/folder with spaces/Schema2_In.xsd
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/schema/folder with spaces/Schema2_Out.xsd
- copied unchanged from r941315, cxf/trunk/rt/core/src/test/resources/schema/folder with spaces/Schema2_Out.xsd
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/schema/folder with spaces/Schema3_In.xsd
- copied unchanged from r941315, cxf/trunk/rt/core/src/test/resources/schema/folder with spaces/Schema3_In.xsd
cxf/branches/2.2.x-fixes/rt/core/src/test/resources/schema/folder with spaces/Schema3_Out.xsd
- copied unchanged from r941315, cxf/trunk/rt/core/src/test/resources/schema/folder with spaces/Schema3_Out.xsd
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java
cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java
cxf/branches/2.2.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLDefinitionBuilderTest.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java?rev=941316&r1=941315&r2=941316&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java (original)
+++ cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/transport/TransportURIResolver.java Wed May 5 14:41:06 2010
@@ -61,6 +61,10 @@ public class TransportURIResolver extend
}
public InputSource resolve(String curUri, String baseUri) {
+
+ // Spaces must be encoded or URI.resolve() will choke
+ curUri = curUri.replace(" ", "%20");
+
InputSource is = null;
URI base;
try {
Modified: cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java?rev=941316&r1=941315&r2=941316&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java (original)
+++ cxf/branches/2.2.x-fixes/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java Wed May 5 14:41:06 2010
@@ -119,7 +119,14 @@ public class WSDLQueryHandler implements
}
String wsdl = params.get("wsdl");
+ if (wsdl != null) {
+ wsdl = wsdl.replace("%20", " ");
+ }
+
String xsd = params.get("xsd");
+ if (xsd != null) {
+ xsd = xsd.replace("%20", " ");
+ }
Map<String, Definition> mp = CastUtils.cast((Map)endpointInfo.getService()
.getProperty(WSDLQueryHandler.class.getName()));
@@ -241,7 +248,7 @@ public class WSDLQueryHandler implements
for (Element el : elementList) {
String sl = el.getAttribute("schemaLocation");
if (smp.containsKey(sl)) {
- el.setAttribute("schemaLocation", base + "?xsd=" + sl);
+ el.setAttribute("schemaLocation", base + "?xsd=" + sl.replace(" ", "%20"));
}
}
@@ -251,7 +258,7 @@ public class WSDLQueryHandler implements
for (Element el : elementList) {
String sl = el.getAttribute("schemaLocation");
if (smp.containsKey(sl)) {
- el.setAttribute("schemaLocation", base + "?xsd=" + sl);
+ el.setAttribute("schemaLocation", base + "?xsd=" + sl.replace(" ", "%20"));
}
}
elementList = DOMUtils.findAllElementsByTagNameNS(doc.getDocumentElement(),
@@ -260,7 +267,7 @@ public class WSDLQueryHandler implements
for (Element el : elementList) {
String sl = el.getAttribute("schemaLocation");
if (smp.containsKey(sl)) {
- el.setAttribute("schemaLocation", base + "?xsd=" + sl);
+ el.setAttribute("schemaLocation", base + "?xsd=" + sl.replace(" ", "%20"));
}
}
elementList = DOMUtils.findAllElementsByTagNameNS(doc.getDocumentElement(),
@@ -269,7 +276,7 @@ public class WSDLQueryHandler implements
for (Element el : elementList) {
String sl = el.getAttribute("location");
if (mp.containsKey(sl)) {
- el.setAttribute("location", base + "?wsdl=" + sl);
+ el.setAttribute("location", base + "?wsdl=" + sl.replace(" ", "%20"));
}
}
Modified: cxf/branches/2.2.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLDefinitionBuilderTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLDefinitionBuilderTest.java?rev=941316&r1=941315&r2=941316&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLDefinitionBuilderTest.java (original)
+++ cxf/branches/2.2.x-fixes/rt/core/src/test/java/org/apache/cxf/wsdl11/WSDLDefinitionBuilderTest.java Wed May 5 14:41:06 2010
@@ -103,4 +103,28 @@ public class WSDLDefinitionBuilderTest e
assertNotNull(part);
assertEquals(new QName("http://apache.org/hello_world/types", "sayHi"), part.getElementName());
}
+
+ @Test
+ public void testBuildImportedWSDLSpacesInPath() throws Exception {
+ WSDLDefinitionBuilder builder = new WSDLDefinitionBuilder(BusFactory.getDefaultBus());
+ String wsdlUrl = getClass().getResource("/folder with spaces/import_test.wsdl").toString();
+
+ Definition def = builder.build(wsdlUrl);
+ assertNotNull(def);
+
+ Map services = def.getServices();
+ assertNotNull(services);
+ assertEquals(1, services.size());
+
+ String serviceQName = "urn:S1importS2S3/resources/wsdl/S1importsS2S3Test1";
+ Service service = (Service)services.get(new QName(serviceQName, "S1importsS2S3TestService"));
+ assertNotNull(service);
+
+ Map ports = service.getPorts();
+ assertNotNull(ports);
+ assertEquals(1, ports.size());
+ Port port = service.getPort("S1importsS2S3TestPort");
+ assertNotNull(port);
+ }
+
}