Uploaded image for project: 'Tika'
  1. Tika
  2. TIKA-2439

Avoid NullPointerException in org.apache.tika.langdetect.OptimaizeLangDetector if models haven't been loaded

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.17
    • 1.17
    • languageidentifier
    • None

    Description

      In an intuitive usage of

      LanguageDetector languageDetector = LanguageDetector.getDefaultLanguageDetector();
      List<LanguageResult> languageResults = languageDetector.detectAll(someNonEmptyString);
      

      `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 situation 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-75-g4455a6f08

      Attachments

        Activity

          People

            Unassigned Unassigned
            krichter Karl-Philipp Richter
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: