Author: nick
Date: Thu Sep 24 17:00:24 2015
New Revision: 1705107

URL: http://svn.apache.org/viewvc?rev=1705107&view=rev
Log:
Patch from Yaniv Kunda from TIKA-1750 - avoid NPE in CachedTranslator if no 
underlying translator is available

Modified:
    
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java

Modified: 
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java?rev=1705107&r1=1705106&r2=1705107&view=diff
==============================================================================
--- 
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java
 (original)
+++ 
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java
 Thu Sep 24 17:00:24 2015
@@ -19,7 +19,6 @@ package org.apache.tika.language.transla
 
 import com.fasterxml.jackson.databind.util.LRUMap;
 
-import org.apache.tika.config.ServiceLoader;
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.language.LanguageIdentifier;
 import org.apache.tika.language.LanguageProfile;
@@ -54,7 +53,7 @@ public class CachedTranslator implements
      */
     public CachedTranslator(Translator translator) {
         this.translator = translator;
-        cache = new HashMap<String, LRUMap<String, String>>();
+        this.cache = new HashMap<>();
     }
 
     /**
@@ -93,7 +92,7 @@ public class CachedTranslator implements
 
     @Override
     public boolean isAvailable() {
-        return translator.isAvailable();
+        return translator != null && translator.isAvailable();
     }
 
     /**
@@ -172,7 +171,7 @@ public class CachedTranslator implements
     private LRUMap<String, String> getTranslationCache(String sourceLanguage, 
String targetLanguage) {
         LRUMap<String, String> translationCache = 
cache.get(buildCacheKeyString(sourceLanguage, targetLanguage));
         if (translationCache == null) {
-            translationCache = new LRUMap<String, String>(INITIAL_ENTRIES, 
MAX_ENTRIES);
+            translationCache = new LRUMap<>(INITIAL_ENTRIES, MAX_ENTRIES);
             cache.put(buildCacheKeyString(sourceLanguage, targetLanguage), 
translationCache);
         }
         return translationCache;


Reply via email to