You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Raymond Feng <en...@gmail.com> on 2009/07/02 08:25:38 UTC

Re: svn commit: r788055 - in /tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution: java/impl/ContributionHelper.java processor/impl/ContributionContentProcessor.java

Hi,

This change is causing issues for web applications under Jetty (more 
generally, if the path contains spaces encoded as %20). For example, new 
URL(file:/C:/My%20Dir).getFile() returns "/C:/My%20Dir", but new 
File("/C:/My%20Dir") doesn't work.

We can use new File(URI) to create a File out of URI (for URL, we call 
URL.toURI() first) but new File(URI) throws IllegalArgumentException for 
opaque URIs such as file:./x.txt or file:../../a/b/c.txt (These file URIs 
are not valid anyway but some people use it).

I fixed the issue under r790470 but we might need to have a general utility 
(in a module like common-java) to deal with URL/URI/File conversions.

Thanks,
Raymond
--------------------------------------------------
From: <sl...@apache.org>
Sent: Wednesday, June 24, 2009 8:39 AM
To: <co...@tuscany.apache.org>
Subject: svn commit: r788055 - in 
/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution: 
java/impl/ContributionHelper.java 
processor/impl/ContributionContentProcessor.java

> Author: slaws
> Date: Wed Jun 24 15:39:38 2009
> New Revision: 788055
>
> URL: http://svn.apache.org/viewvc?rev=788055&view=rev
> Log:
> Deal with file: protocol that doesn't populate the path part of the URL
>
> Modified:
> 
> tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java
> 
> tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/ContributionContentProcessor.java
>
> Modified: 
> tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java
> URL: 
> http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java?rev=788055&r1=788054&r2=788055&view=diff
> ==============================================================================
> ---  
> tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java 
> (original)
> +++ 
> tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionHelper.java 
> Wed Jun 24 15:39:38 2009
> @@ -38,7 +38,7 @@
>         List<URL> urls = new ArrayList<URL>();
>         boolean isZipContribution = 
> contribution.getLocation().endsWith(".zip");
>         URI uri = URI.create(contribution.getLocation());
> -        boolean isFolderContribution = !isZipContribution && 
> uri.getScheme().equals("file") && new File(uri).isDirectory();
> +        boolean isFolderContribution = !isZipContribution && 
> uri.getScheme().equals("file") && new 
> File(uri.getSchemeSpecificPart()).isDirectory();
>         if (isZipContribution || isFolderContribution) {
>             for (Artifact a : contribution.getArtifacts()) {
>                 if (a.getLocation().endsWith(".jar")) {
>
> 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=788055&r1=788054&r2=788055&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 
> Wed Jun 24 15:39:38 2009
> @@ -115,15 +115,16 @@
>         // Create a contribution scanner
>         ContributionScanner scanner = 
> scanners.getContributionScanner(contributionURL.getProtocol());
>         if (scanner == null) {
> -            try {
> -                if ("file".equals(contributionURL.getProtocol()) && new 
> File(contributionURL.toURI().getPath()).isDirectory()) {
> +            //try {
> +                if ("file".equals(contributionURL.getProtocol()) &&
> +                    new File(contributionURL.getFile()).isDirectory()) {
>                     scanner = new DirectoryContributionScanner();
>                 } else {
>                     scanner = new JarContributionScanner();
>                 }
> -            } catch (URISyntaxException e) {
> -                throw new ContributionReadException(e);
> -            }
> +            //} catch (URISyntaxException e) {
> +            //    throw new ContributionReadException(e);
> +            //}
>         }
>
>         // Scan the contribution and list the artifacts contained in it
>
>