You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by im...@apache.org on 2005/03/08 08:47:24 UTC
svn commit: r156508 - in
jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider:
AbstractOriginatingFileProvider.java local/DefaultLocalFileProvider.java
local/LocalFileName.java
Author: imario
Date: Mon Mar 7 23:47:22 2005
New Revision: 156508
URL: http://svn.apache.org/viewcvs?view=rev&rev=156508
Log:
directly create the LocalFileName from an java.io.File (or its path) to avoid uri-encoding/decoding back and forth.
Modified:
jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java
jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/DefaultLocalFileProvider.java
jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java
Modified: jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java?view=diff&r1=156507&r2=156508
==============================================================================
--- jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java (original)
+++ jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractOriginatingFileProvider.java Mon Mar 7 23:47:22 2005
@@ -1,12 +1,12 @@
/*
* Copyright 2002, 2003,2004 The Apache Software Foundation.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -64,7 +64,7 @@
/**
* Locates a file from its parsed URI.
*/
- private synchronized FileObject findFile(final FileName name, final FileSystemOptions fileSystemOptions)
+ protected synchronized FileObject findFile(final FileName name, final FileSystemOptions fileSystemOptions)
throws FileSystemException
{
// Check in the cache for the file system
Modified: jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/DefaultLocalFileProvider.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/DefaultLocalFileProvider.java?view=diff&r1=156507&r2=156508
==============================================================================
--- jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/DefaultLocalFileProvider.java (original)
+++ jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/DefaultLocalFileProvider.java Mon Mar 7 23:47:22 2005
@@ -88,9 +88,11 @@
public FileObject findLocalFile(final String name)
throws FileSystemException
{
- // TODO - tidy this up, no need to turn the name into an absolute URI,
- // and then straight back again
- return findFile(null, "file:" + name, null);
+ StringBuffer uri = new StringBuffer(name.length() + 5);
+ uri.append("file:");
+ uri.append(name);
+ FileName filename = parseUri(uri.toString(), false);
+ return findFile(filename, null);
}
/**
@@ -99,8 +101,16 @@
public FileObject findLocalFile(final File file)
throws FileSystemException
{
- // TODO - tidy this up, should build file object straight from the file
- return findFile(null, "file:" + file.getAbsolutePath(), null);
+ return findLocalFile(file.getAbsolutePath());
+ }
+
+ /**
+ * Parses a URI.
+ */
+ protected FileName parseUri(final String uri, final boolean uriEncoded)
+ throws FileSystemException
+ {
+ return LocalFileName.parseUri(uri, uriEncoded, parser);
}
/**
@@ -109,7 +119,7 @@
protected FileName parseUri(final String uri)
throws FileSystemException
{
- return LocalFileName.parseUri(uri, parser);
+ return parseUri(uri, true);
}
/**
Modified: jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java?view=diff&r1=156507&r2=156508
==============================================================================
--- jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java (original)
+++ jakarta/commons/sandbox/vfs/trunk/src/java/org/apache/commons/vfs/provider/local/LocalFileName.java Mon Mar 7 23:47:22 2005
@@ -1,12 +1,12 @@
/*
* Copyright 2002, 2003,2004 The Apache Software Foundation.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -44,7 +44,7 @@
*
* @todo Make parser a static field
*/
- public static LocalFileName parseUri(final String uri,
+ public static LocalFileName parseUri(final String uri, final boolean uriEncoded,
final LocalFileNameParser parser)
throws FileSystemException
{
@@ -54,7 +54,10 @@
final String scheme = UriParser.extractScheme(uri, name);
// Remove encoding, and adjust the separators
- UriParser.decode(name, 0, name.length());
+ if (uriEncoded)
+ {
+ UriParser.decode(name, 0, name.length());
+ }
UriParser.fixSeparators(name);
// Extract the root prefix
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org