summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java16
-rw-r--r--java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java2
-rw-r--r--java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java16
3 files changed, 27 insertions, 7 deletions
diff --git a/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java b/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
index 183d6f3471..ec059ace81 100644
--- a/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
+++ b/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
@@ -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 @@ public class CompositeDocumentProcessor extends BaseAssemblyProcessor implements
} // 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);
}
diff --git a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java
index 9f727866ab..cf62a047f4 100644
--- a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java
+++ b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java
@@ -116,7 +116,7 @@ public class ContributionContentProcessor implements ExtendedURLArtifactProcesso
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();
diff --git a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java
index 396d77af66..67486b0ab3 100644
--- a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java
+++ b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java
@@ -47,10 +47,18 @@ public class NodeUtil {
* @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;
}
}