You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by tp...@apache.org on 2015/03/20 23:07:38 UTC
svn commit: r1668166 - in /tika/trunk: ./
tika-core/src/main/java/org/apache/tika/language/translate/
tika-translate/src/main/java/org/apache/tika/language/translate/
Author: tpalsulich
Date: Fri Mar 20 22:07:38 2015
New Revision: 1668166
URL: http://svn.apache.org/r1668166
Log:
TIKA-1416. Refactor Translator Exception handling.
Modified:
tika/trunk/CHANGES.txt
tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/DefaultTranslator.java
tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/Translator.java
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/ExternalTranslator.java
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MicrosoftTranslator.java
tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MosesTranslator.java
Modified: tika/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/tika/trunk/CHANGES.txt?rev=1668166&r1=1668165&r2=1668166&view=diff
==============================================================================
--- tika/trunk/CHANGES.txt (original)
+++ tika/trunk/CHANGES.txt Fri Mar 20 22:07:38 2015
@@ -1,5 +1,8 @@
Release 1.8 - Current Development
+ * Translator.translate() Exceptions are now restricted to
+ TikaException and IOException (TIKA-1416).
+
* Tika now supports MIME detection for Microsoft Extended
Makefiles (EMF) (TIKA-1554).
Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/DefaultTranslator.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/DefaultTranslator.java?rev=1668166&r1=1668165&r2=1668166&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/DefaultTranslator.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/DefaultTranslator.java Fri Mar 20 22:07:38 2015
@@ -18,6 +18,9 @@
package org.apache.tika.language.translate;
import org.apache.tika.config.ServiceLoader;
+import org.apache.tika.exception.TikaException;
+
+import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -56,11 +59,11 @@ public class DefaultTranslator implement
return translators;
}
- public String translate(String text, String sourceLanguage, String targetLanguage) throws Exception {
+ public String translate(String text, String sourceLanguage, String targetLanguage) throws TikaException, IOException {
return getDefaultTranslators(loader).get(0).translate(text, sourceLanguage, targetLanguage);
}
- public String translate(String text, String targetLanguage) throws Exception {
+ public String translate(String text, String targetLanguage) throws TikaException, IOException {
return getDefaultTranslators(loader).get(0).translate(text, targetLanguage);
}
Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/Translator.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/Translator.java?rev=1668166&r1=1668165&r2=1668166&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/Translator.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/language/translate/Translator.java Fri Mar 20 22:07:38 2015
@@ -16,6 +16,10 @@
*/
package org.apache.tika.language.translate;
+import org.apache.tika.exception.TikaException;
+
+import java.io.IOException;
+
/**
* Interface for Translator services.
* @since Tika 1.6
@@ -34,10 +38,11 @@ public interface Translator {
* @param sourceLanguage The input text language (for example, "en").
* @param targetLanguage The desired language to translate to (for example, "fr").
* @return The translation result. If translation is unavailable, returns the same text back.
- * @throws Exception When there is an error with the API call.
+ * @throws TikaException When there is an error translating.
+ * @throws java.io.IOException
* @since Tika 1.6
*/
- public String translate(String text, String sourceLanguage, String targetLanguage) throws Exception;
+ public String translate(String text, String sourceLanguage, String targetLanguage) throws TikaException, IOException;
/**
* Translate text to the given language. This method attempts to auto-detect the source language of the text.
@@ -52,10 +57,11 @@ public interface Translator {
* @param text The text to translate.
* @param targetLanguage The desired language to translate to (for example, "hi").
* @return The translation result. If translation is unavailable, returns the same text back.
- * @throws Exception When there is an error with the API call.
+ * @throws TikaException When there is an error translating.
+ * @throws java.io.IOException
* @since Tika 1.6
*/
- public String translate(String text, String targetLanguage) throws Exception;
+ public String translate(String text, String targetLanguage) throws TikaException, IOException;
/**
* @return true if this Translator is probably able to translate right now.
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=1668166&r1=1668165&r2=1668166&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 Fri Mar 20 22:07:38 2015
@@ -18,9 +18,11 @@
package org.apache.tika.language.translate;
import com.fasterxml.jackson.databind.util.LRUMap;
+import org.apache.tika.exception.TikaException;
import org.apache.tika.language.LanguageIdentifier;
import org.apache.tika.language.LanguageProfile;
+import java.io.IOException;
import java.util.HashMap;
/**
@@ -47,7 +49,7 @@ public class CachedTranslator implements
}
@Override
- public String translate(String text, String sourceLanguage, String targetLanguage) throws Exception {
+ public String translate(String text, String sourceLanguage, String targetLanguage) throws TikaException, IOException {
HashMap<String, String> translationCache = getTranslationCache(sourceLanguage, targetLanguage);
String translatedText = translationCache.get(text);
if (translatedText == null) {
@@ -58,7 +60,7 @@ public class CachedTranslator implements
}
@Override
- public String translate(String text, String targetLanguage) throws Exception {
+ public String translate(String text, String targetLanguage) throws TikaException, IOException {
LanguageIdentifier language = new LanguageIdentifier(
new LanguageProfile(text));
String sourceLanguage = language.getLanguage();
Modified: tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/ExternalTranslator.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/ExternalTranslator.java?rev=1668166&r1=1668165&r2=1668166&view=diff
==============================================================================
--- tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/ExternalTranslator.java (original)
+++ tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/ExternalTranslator.java Fri Mar 20 22:07:38 2015
@@ -17,6 +17,7 @@
package org.apache.tika.language.translate;
+import org.apache.tika.exception.TikaException;
import org.apache.tika.language.LanguageIdentifier;
import org.apache.tika.language.LanguageProfile;
@@ -91,7 +92,7 @@ public abstract class ExternalTranslator
* @throws Exception
*/
@Override
- public String translate(String text, String targetLanguage) throws Exception {
+ public String translate(String text, String targetLanguage) throws TikaException, IOException {
LanguageIdentifier language = new LanguageIdentifier(
new LanguageProfile(text));
String sourceLanguage = language.getLanguage();
Modified: tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java?rev=1668166&r1=1668165&r2=1668166&view=diff
==============================================================================
--- tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java (original)
+++ tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java Fri Mar 20 22:07:38 2015
@@ -21,6 +21,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.BufferedReader;
+import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
@@ -29,6 +30,7 @@ import java.util.logging.Logger;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.tika.exception.TikaException;
import org.apache.tika.io.IOUtils;
import org.apache.tika.language.LanguageIdentifier;
import org.apache.tika.language.LanguageProfile;
@@ -78,7 +80,7 @@ public class GoogleTranslator implements
@Override
public String translate(String text, String sourceLanguage,
- String targetLanguage) throws Exception {
+ String targetLanguage) throws TikaException, IOException {
if (!this.isAvailable)
return text;
Response response = client.accept(MediaType.APPLICATION_JSON)
@@ -99,7 +101,7 @@ public class GoogleTranslator implements
@Override
public String translate(String text, String targetLanguage)
- throws Exception {
+ throws TikaException, IOException {
if (!this.isAvailable)
return text;
LanguageIdentifier language = new LanguageIdentifier(
Modified: tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java?rev=1668166&r1=1668165&r2=1668166&view=diff
==============================================================================
--- tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java (original)
+++ tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java Fri Mar 20 22:07:38 2015
@@ -21,6 +21,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.BufferedReader;
+import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
@@ -71,7 +72,7 @@ public class Lingo24Translator implement
@Override
public String translate(String text, String sourceLanguage,
- String targetLanguage) throws Exception {
+ String targetLanguage) throws TikaException, IOException {
if (!this.isAvailable)
return text;
Response response = client.accept(MediaType.APPLICATION_JSON)
@@ -96,7 +97,7 @@ public class Lingo24Translator implement
@Override
public String translate(String text, String targetLanguage)
- throws Exception {
+ throws TikaException, IOException {
if (!this.isAvailable)
return text;
LanguageIdentifier language = new LanguageIdentifier(
Modified: tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MicrosoftTranslator.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MicrosoftTranslator.java?rev=1668166&r1=1668165&r2=1668166&view=diff
==============================================================================
--- tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MicrosoftTranslator.java (original)
+++ tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MicrosoftTranslator.java Fri Mar 20 22:07:38 2015
@@ -19,6 +19,7 @@ package org.apache.tika.language.transla
import com.memetix.mst.language.Language;
import com.memetix.mst.translate.Translate;
+import org.apache.tika.exception.TikaException;
import java.io.IOException;
import java.io.InputStream;
@@ -77,13 +78,17 @@ public class MicrosoftTranslator impleme
* @see org.apache.tika.language.translate.Translator
* @since Tika 1.6
*/
- public String translate(String text, String sourceLanguage, String targetLanguage) throws Exception {
+ public String translate(String text, String sourceLanguage, String targetLanguage) throws TikaException, IOException {
if (!available) return text;
Language source = Language.fromString(sourceLanguage);
Language target = Language.fromString(targetLanguage);
Translate.setClientId(clientId);
Translate.setClientSecret(clientSecret);
- return Translate.execute(text, source, target);
+ try {
+ return Translate.execute(text, source, target);
+ } catch (Exception e) {
+ throw new TikaException("Error with Microsoft Translation: " + e.getMessage());
+ }
}
/**
@@ -96,12 +101,16 @@ public class MicrosoftTranslator impleme
* @see org.apache.tika.language.translate.Translator
* @since Tika 1.6
*/
- public String translate(String text, String targetLanguage) throws Exception {
+ public String translate(String text, String targetLanguage) throws TikaException, IOException {
if (!available) return text;
Language target = Language.fromString(targetLanguage);
Translate.setClientId(clientId);
Translate.setClientSecret(clientSecret);
- return Translate.execute(text, target);
+ try {
+ return Translate.execute(text, target);
+ } catch (Exception e) {
+ throw new TikaException("Error with Microsoft Translation: " + e.getMessage());
+ }
}
/**
Modified: tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MosesTranslator.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MosesTranslator.java?rev=1668166&r1=1668165&r2=1668166&view=diff
==============================================================================
--- tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MosesTranslator.java (original)
+++ tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/MosesTranslator.java Fri Mar 20 22:07:38 2015
@@ -17,6 +17,8 @@
package org.apache.tika.language.translate;
+import org.apache.tika.exception.TikaException;
+
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@@ -75,7 +77,7 @@ public class MosesTranslator extends Ext
}
@Override
- public String translate(String text, String sourceLanguage, String targetLanguage) throws Exception {
+ public String translate(String text, String sourceLanguage, String targetLanguage) throws TikaException, IOException {
if (!isAvailable() || !checkCommand(buildCheckCommand(smtPath), 1)) return text;
File tmpFile = new File(TMP_FILE_NAME);
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(tmpFile), Charset.defaultCharset());