JackrabbitParser and tika 0.7 parser
------------------------------------

                 Key: JCR-2642
                 URL: https://issues.apache.org/jira/browse/JCR-2642
             Project: Jackrabbit Content Repository
          Issue Type: New Feature
          Components: jackrabbit-core
    Affects Versions: 2.1.0
            Reporter: Dan Ducar


Hi,

I was trying to implement a custom parser and found the following problem.
Since tika 0.7 it is possible to implement your custom parser and specify it 
into a service provider configuration file 
(META-INF/services/org.apache.tika.parser.Parser). In this way there would be 
no need to maintain a custom tika-config.xml file if you'd like to implement a 
custom parser.

The problem that I had was in the JackrabbitParser because I wasn't able to 
instantiate the AutoDetectParser with the default constructor is will be 
instantiated using the default TikaConfig constructor.
Basically from tika 0.7, the TikaConfig.getTikaConfig() is instantiating the 
TikaConfig using the default constructor instead of accessing the 
tika-config.xml file from withing the package, and reads the service provider 
configuration files and populate the parsers map.

What I'm proposing is to change the JackrabbitParser to instantiate the 
AutoDetectParser using the default constructor, in this way the using tika 
version >= 0.7 we could easily implement our own parsers and there won't be a 
reason to maintain the tika-config.xml, also a sort of "backward" compatibility 
would be maintained because using the AutoDetectParser default constructor the 
TikaConfig is instantiated using TikaConfig.getTikaConfig() wich for tika 
versions < 0.7 calls the TikaConfig(InputStream) constructor whcih reads the 
configuration directly from the package.

Basically the JackrabbitParser should look like this:

    public JackrabbitParser() {
                parser = new AutoDetectParser();
    }
 
Thanks,
Dan

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