tika-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Updated: (TIKA-21) LiusConfig supports multiple config files, but parser config list is static.
Date Sun, 23 Sep 2007 10:25:50 GMT

     [ https://issues.apache.org/jira/browse/TIKA-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jukka Zitting updated TIKA-21:
------------------------------

    Attachment: TIKA-21.patch

Attached  a proposed patch to simplify the config classes and get rid of the static variables.

The patch moves the parsing of the XML configuration file to the LiusConfig, ParserConfig,
and Content constructors and makes all these objects immutable except for the value properties
of Content instances.

> LiusConfig supports multiple config files, but parser config list is static.
> ----------------------------------------------------------------------------
>
>                 Key: TIKA-21
>                 URL: https://issues.apache.org/jira/browse/TIKA-21
>             Project: Tika
>          Issue Type: Bug
>          Components: general
>    Affects Versions: 0.1-incubator
>            Reporter: Keith R. Bennett
>             Fix For: 0.1-incubator
>
>         Attachments: TIKA-21.patch
>
>
> The LiusConfig class keeps an internal map whose keys are configuration specifications
(now filespec Strings, possibly URL's in the future) and whose values are LiusConfig objects.
 When an instance of a given key is requested, and that key has not yet been processed, it
is parsed into an object that will be available from the map from then on.  During that parse,
the content of the static List<ParserConfig> parsersConfig is overwritten.  Here is
how:
> At the end of populateConfig(), a static method, there is a call:
> tc.setParsersConfigs(parsersConfigs)
> 'tc' seems to be an instance kept around solely to accomplish this call.
> setParsersConfig() is defined as:
>     public void setParsersConfigs(List<ParserConfig> parsersConfigs) {
>         this.parsersConfigs = parsersConfigs;
>     }
> However, the list variable itself, parsersConfigs, is defined as static:
>     private static List<ParserConfig> parsersConfigs;
> ... so the result is that it is overwritten at each parse.
> If I understand correcty the intent, parsersConfig should be nonstatic, since different
configurations could specify different parsers.  If this is the case, then it would probably
make sense to make the populateConfig method nonstatic, and create a private constructor:
>     private LiusConfig(Document document) {
>         populateConfig(document);
>     }

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


Mime
View raw message