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

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.17
    • Fix Version/s: 1.17
    • Component/s: languageidentifier
    • Labels:
      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

            • Assignee:
              Unassigned
              Reporter:
              krichter Karl Richter
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: