Author: imario
Date: Fri Nov 10 10:54:59 2006
New Revision: 473421
URL: http://svn.apache.org/viewvc?view=rev&rev=473421
Log:
use class-loader to lookup plugin configuration, moved around tests to
be m2 compliant (part 1)
Added:
jakarta/commons/proper/vfs/trunk/core/src/test/
- copied from r472274,
jakarta/commons/proper/vfs/trunk/core/src/main/test/
jakarta/commons/proper/vfs/trunk/core/src/test-data/
- copied from r472274,
jakarta/commons/proper/vfs/trunk/core/src/main/test-data/
jakarta/commons/proper/vfs/trunk/core/src/test/java/
jakarta/commons/proper/vfs/trunk/sandbox/src/main/java/org/apache/commons/vfs/provider/mime/
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/vfs-providers.xml
(with props)
jakarta/commons/proper/vfs/trunk/sandbox/src/test/
- copied from r472274,
jakarta/commons/proper/vfs/trunk/sandbox/src/main/test/
Removed:
jakarta/commons/proper/vfs/trunk/core/src/main/test/
jakarta/commons/proper/vfs/trunk/core/src/main/test-data/
jakarta/commons/proper/vfs/trunk/sandbox/src/main/test/
Modified:
jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/StandardFileSystemManager.java
jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/providers.xml
jakarta/commons/proper/vfs/trunk/sandbox/pom.xml
Modified:
jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/StandardFileSystemManager.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/StandardFileSystemManager.java?view=diff&rev=473421&r1=473420&r2=473421
==============================================================================
---
jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/StandardFileSystemManager.java
(original)
+++
jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/StandardFileSystemManager.java
Fri Nov 10 10:54:59 2006
@@ -35,6 +35,7 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.StringTokenizer;
+import java.util.Enumeration;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
@@ -133,72 +134,37 @@
*/
protected void configurePlugins() throws FileSystemException
{
- String classpath = System.getProperty("java.class.path");
- if (classpath == null)
- {
- // huh? why should that be?
- return;
- }
+ ClassLoader cl = findClassLoader();
- StringTokenizer st = new StringTokenizer(classpath,
File.pathSeparator, false);
- while (st.hasMoreTokens())
- {
- String path = st.nextToken();
+ Enumeration enumResources = null;
+ try
+ {
+ enumResources = cl.getResources(PLUGIN_CONFIG_RESOURCE);
+ }
+ catch (IOException e)
+ {
+ throw new FileSystemException(e);
+ }
+
+ while (enumResources.hasMoreElements())
+ {
+ URL url = (URL) enumResources.nextElement();
+ configure(url);
+ }
+ }
+
+ private ClassLoader findClassLoader()
+ {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ if (cl == null)
+ {
+ cl = getClass().getClassLoader();
+ }
- if (path.length() > 4 &&
path.substring(path.length()-4).toLowerCase().equals(".jar"))
- {
- try
- {
- JarFile jarFile = new JarFile(path);
- JarEntry jarEntry =
jarFile.getJarEntry(PLUGIN_CONFIG_RESOURCE);
- if (jarEntry != null)
- {
- InputStream configStream = null;
- try
- {
- configStream = jarFile.getInputStream(jarEntry);
- configure(jarEntry.getName(), configStream);
- }
- finally
- {
- if (configStream != null)
- {
- configStream.close();
- }
- }
- }
- }
- catch (FileSystemException e)
- {
- // VFS exception - rethrow
- // Need to do this as FileSystemException extends
IOException
- throw e;
- }
- catch (IOException e)
- {
- // Maybe a damaged jar? Complain about but continue ...
- log.warn(e.getLocalizedMessage() + " " + path, e);
- }
- }
- else
- {
- File config = new File(path, PLUGIN_CONFIG_RESOURCE);
- if (config.exists() && config.canRead())
- {
- try
- {
- configure(config.toURL());
- }
- catch (MalformedURLException e)
- {
- log.warn(e.getLocalizedMessage(), e);
- }
- }
- }
- }
- }
+ return cl;
+ }
- protected DefaultFileReplicator createDefaultFileReplicator()
+ protected DefaultFileReplicator createDefaultFileReplicator()
{
return new DefaultFileReplicator();
}
Modified:
jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/providers.xml
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/providers.xml?view=diff&rev=473421&r1=473420&r2=473421
==============================================================================
---
jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/providers.xml
(original)
+++
jakarta/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/impl/providers.xml
Fri Nov 10 10:54:59 2006
@@ -35,21 +35,12 @@
<scheme name="ftp"/>
<if-available class-name="org.apache.commons.net.ftp.FTPFile"/>
</provider>
- <provider class-name="org.apache.commons.vfs.provider.smb.SmbFileProvider">
- <scheme name="smb"/>
- <if-available class-name="jcifs.smb.SmbFile"/>
- </provider>
<provider
class-name="org.apache.commons.vfs.provider.http.HttpFileProvider">
<scheme name="http"/>
<if-available class-name="org.apache.commons.httpclient.HttpClient"/>
</provider>
<provider
class-name="org.apache.commons.vfs.provider.https.HttpsFileProvider">
<scheme name="https"/>
- <if-available class-name="org.apache.commons.httpclient.HttpClient"/>
- </provider>
- <provider
class-name="org.apache.commons.vfs.provider.webdav.WebdavFileProvider">
- <scheme name="webdav"/>
- <if-available class-name="org.apache.webdav.lib.WebdavResource"/>
<if-available class-name="org.apache.commons.httpclient.HttpClient"/>
</provider>
<provider
class-name="org.apache.commons.vfs.provider.sftp.SftpFileProvider">
Modified: jakarta/commons/proper/vfs/trunk/sandbox/pom.xml
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/sandbox/pom.xml?view=diff&rev=473421&r1=473420&r2=473421
==============================================================================
--- jakarta/commons/proper/vfs/trunk/sandbox/pom.xml (original)
+++ jakarta/commons/proper/vfs/trunk/sandbox/pom.xml Fri Nov 10 10:54:59 2006
@@ -71,6 +71,12 @@
<version>2.0.2</version>
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ <version>1.4</version>
+ <optional>true</optional>
+ </dependency>
</dependencies>
Added:
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/vfs-providers.xml
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/vfs-providers.xml?view=auto&rev=473421
==============================================================================
---
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/vfs-providers.xml
(added)
+++
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/vfs-providers.xml
Fri Nov 10 10:54:59 2006
@@ -0,0 +1,14 @@
+<providers>
+
+ <provider
class-name="org.apache.commons.vfs.provider.smb.SmbFileProvider">
+ <scheme name="smb"/>
+ <if-available class-name="jcifs.smb.SmbFile"/>
+ </provider>
+
+ <provider
class-name="org.apache.commons.vfs.provider.webdav.WebdavFileProvider">
+ <scheme name="webdav"/>
+ <if-available
class-name="org.apache.webdav.lib.WebdavResource"/>
+ <if-available
class-name="org.apache.commons.httpclient.HttpClient"/>
+ </provider>
+
+</providers>
Propchange:
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/vfs-providers.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/vfs-providers.xml
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange:
jakarta/commons/proper/vfs/trunk/sandbox/src/main/resources/META-INF/vfs-providers.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]