diff options
Diffstat (limited to 'java/sca/modules')
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; } } |