You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2009/05/12 22:30:47 UTC

svn commit: r774067 - in /tuscany/java/sca/modules: assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ node-impl/src/main/java/org/apache/tuscany/sca/node/impl/

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;
     }
 
 }