Author: mattmann
Date: Thu May  7 00:35:39 2015
New Revision: 1678115

URL: http://svn.apache.org/r1678115
Log:
- provide no arg constructor for service loading - this will get selected by 
default per its ordering by name - TODO: fix this later.

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=1678115&r1=1678114&r2=1678115&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 May  7 00:35:39 2015
@@ -18,6 +18,8 @@
 package org.apache.tika.language.translate;
 
 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;
@@ -36,6 +38,13 @@ public class CachedTranslator implements
     // Old entries are removed from the cache when it reaches its limit.
     // For example, {en:fr -> {hello -> salut}}.
     private HashMap<String, LRUMap<String, String>> cache;
+    
+    /**
+     * Create a new CachedTranslator (must set the {@link Translator} with 
{@link #setTranslator(Translator)} before use!)
+     */
+    public CachedTranslator(){
+       this(null);
+    }
 
     /**
      * Create a new CachedTranslator.
@@ -48,9 +57,24 @@ public class CachedTranslator implements
         cache = new HashMap<String, LRUMap<String, String>>();
     }
 
-    @Override
+    /**
+        * @return the translator
+        */
+       public Translator getTranslator() {
+               return translator;
+       }
+
+       /**
+        * @param translator the translator to set
+        */
+       public void setTranslator(Translator translator) {
+               this.translator = translator;
+       }
+
+       @Override
     public String translate(String text, String sourceLanguage, String 
targetLanguage) throws TikaException, IOException {
-        HashMap<String, String> translationCache = 
getTranslationCache(sourceLanguage, targetLanguage);
+        if (translator == null) return text;
+               HashMap<String, String> translationCache = 
getTranslationCache(sourceLanguage, targetLanguage);
         String translatedText = translationCache.get(text);
         if (translatedText == null) {
             translatedText = translator.translate(text, sourceLanguage, 
targetLanguage);


Reply via email to