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