Author: lresende
Date: Tue May 12 20:30:46 2009
New Revision: 774067
URL: http://svn.apache.org/viewvc?rev=774067&view=rev
Log:
TUSCANY-3015 - Using URI to properly escape/unescape spaces in various parts of
the runtime
Modified:
tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java
tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java
Modified:
tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java?rev=774067&r1=774066&r2=774067&view=diff
==============================================================================
---
tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
(original)
+++
tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
Tue May 12 20:30:46 2009
@@ -20,9 +20,11 @@
package org.apache.tuscany.sca.assembly.xml;
import java.io.ByteArrayInputStream;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Collection;
@@ -83,14 +85,24 @@
} // end if
InputStream scdlStream = null;
try {
- URLConnection connection = url.openConnection();
+ URLConnection connection;
+ if (url.getProtocol().equals("file")) {
+ File scdlFile = new File(url.toURI().getPath());
+ connection = scdlFile.toURL().openConnection();
+ } else {
+ connection = url.openConnection();
+ }
connection.setUseCaches(false);
scdlStream = connection.getInputStream();
} catch (IOException e) {
ContributionReadException ce = new
ContributionReadException("Exception reading " + uri, e);
error("ContributionReadException", url, ce);
throw ce;
- }
+ } catch (URISyntaxException e) {
+ ContributionReadException ce = new
ContributionReadException("Exception reading " + uri, e);
+ error("ContributionReadException", url, ce);
+ throw ce;
+ }
return read(uri, scdlStream);
}
Modified:
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java?rev=774067&r1=774066&r2=774067&view=diff
==============================================================================
---
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java
(original)
+++
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java
Tue May 12 20:30:46 2009
@@ -116,7 +116,7 @@
ContributionScanner scanner =
scanners.getContributionScanner(contributionURL.getProtocol());
if (scanner == null) {
try {
- if ("file".equals(contributionURL.getProtocol()) && new
File(contributionURL.toURI()).isDirectory()) {
+ if ("file".equals(contributionURL.getProtocol()) && new
File(contributionURL.toURI().getPath()).isDirectory()) {
scanner = new DirectoryContributionScanner();
} else {
scanner = new JarContributionScanner();
Modified:
tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java?rev=774067&r1=774066&r2=774067&view=diff
==============================================================================
---
tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java
(original)
+++
tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java
Tue May 12 20:30:46 2009
@@ -47,10 +47,18 @@
* @return
*/
static URI createURI(String uri) {
- if (uri.indexOf(' ') != -1) {
- uri = uri.replace(" ", "%20");
- }
- return URI.create(uri);
+ URI returnURI = null;
+
+ try {
+ returnURI = URI.create(uri);
+ } catch( Exception e) {
+ try {
+ returnURI = new URI(null, uri, null);
+ } catch (Exception ee) {
+ throw new IllegalArgumentException("Invalid URI :" +
uri, ee);
+ }
+ }
+ return returnURI;
}
}