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);