You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Karl Richter (JIRA)" <ji...@apache.org> on 2017/08/02 10:51:00 UTC

[jira] [Created] (TIKA-2439) Avoid NullPointerException in org.apache.tika.langdetect.OptimaizeLangDetector if models haven't been loaded

Karl Richter created TIKA-2439:
----------------------------------

             Summary: Avoid NullPointerException in org.apache.tika.langdetect.OptimaizeLangDetector if models haven't been loaded
                 Key: TIKA-2439
                 URL: https://issues.apache.org/jira/browse/TIKA-2439
             Project: Tika
          Issue Type: Improvement
          Components: languageidentifier
    Affects Versions: 1.17
            Reporter: Karl Richter


In an intuitive usage of
{code:java}
LanguageDetector languageDetector = LanguageDetector.getDefaultLanguageDetector();
List<LanguageResult> languageResults = languageDetector.detectAll(someNonEmptyString);
{code}

`org.apache.tika.langdetect.OptimaizeLangDetector` might/will (?) be chosen as default detector, but since there's no call to `LanguageDetector.loadModels()` `LanguageDetector.detector` is `null` in `detectAll` which causes an unhelpful error message which one has to investigate in the code. A simple check whether `detector` is `null` and throwing an `IllegalStateException("models haven't been loaded yet (forgot to call loadModels?")` would be much more intuitive.

If that corresponds to the expected behaviour (it's my first week with Tika), I can provide a patch or pull request.

experienced with 1.16-76-gecc59adc9



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)