Add support for vfsfile:// loading of plugins for JBoss
-------------------------------------------------------

                 Key: NUTCH-764
                 URL: https://issues.apache.org/jira/browse/NUTCH-764
             Project: Nutch
          Issue Type: Improvement
          Components: searcher
    Affects Versions: 1.0.0
         Environment: JBoss AS 5.1.0
            Reporter: tcur...@approachingpi.com
            Priority: Trivial


In the file:
/src/java/org/apache/nutch/plugin/PluginManifestParser.java

There is a check to make sure that the plugin file location is a url formatted 
like "file://path/plugins".

When deployed on Jboss, the file protocol will sometimes be: 
"vfsfile://path/plugins".  The code with vfsfile can operate the same so I 
propose a change to the check to also allow this protocol.  This would allow 
Nutch to be deployed on the newer versions of JBoss without any modification.

The altered block of code would look like this:

      if (url == null && directory.exists() && directory.isDirectory()
          && directory.listFiles().length > 0) {
        return directory; // relative path that is not in the classpath
      } else if (url == null) {
        LOG.warn("Plugins: directory not found: " + name);
        return null;
      } else if (!"file".equals(url.getProtocol()) &&
        !"vfsfile".equals(url.getProtocol())) {
        LOG.warn("Plugins: not a file: url. Can't load plugins from: " + url);
        return null;
      }



Index: src/java/org/apache/nutch/plugin/PluginManifestParser.java
===================================================================
--- src/java/org/apache/nutch/plugin/PluginManifestParser.java  Mon Nov 09 
20:20:51 EST 2009
+++ src/java/org/apache/nutch/plugin/PluginManifestParser.java  Mon Nov 09 
20:20:51 EST 2009
@@ -121,7 +121,8 @@
       } else if (url == null) {
         LOG.warn("Plugins: directory not found: " + name);
         return null;
-      } else if (!"file".equals(url.getProtocol())) {
+      } else if (!"file".equals(url.getProtocol()) &&
+        !"vfsfile".equals(url.getProtocol())) {
         LOG.warn("Plugins: not a file: url. Can't load plugins from: " + url);
         return null;
       }



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to