Author: tpalsulich
Date: Wed Aug 13 16:36:36 2014
New Revision: 1617754

URL: http://svn.apache.org/r1617754
Log:
Re-enabling forbidden-apis and working around identified errors in External and 
Moses Translators.

Modified:
    tika/trunk/tika-parent/pom.xml
    
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/MosesTranslator.java

Modified: tika/trunk/tika-parent/pom.xml
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parent/pom.xml?rev=1617754&r1=1617753&r2=1617754&view=diff
==============================================================================
--- tika/trunk/tika-parent/pom.xml (original)
+++ tika/trunk/tika-parent/pom.xml Wed Aug 13 16:36:36 2014
@@ -264,7 +264,7 @@
           <target>${maven.compiler.target}</target>
         </configuration>
       </plugin>
-      <!--<plugin>
+      <plugin>
         <groupId>de.thetaphi</groupId>
         <artifactId>forbiddenapis</artifactId>
         <version>1.6.1</version>
@@ -285,7 +285,7 @@
             </goals>
           </execution>
         </executions>
-      </plugin>-->
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>

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=1617754&r1=1617753&r2=1617754&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
 Wed Aug 13 16:36:36 2014
@@ -25,6 +25,8 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.nio.charset.Charset;
+import java.util.Locale;
 
 /**
  * Abstract class used to interact with command line/external Translators.
@@ -47,7 +49,7 @@ public abstract class ExternalTranslator
      */
     public Reader runAndGetOutput(String command, String[] env, File 
workingDirectory) throws IOException, InterruptedException {
         Process process = Runtime.getRuntime().exec(command, env, 
workingDirectory);
-        InputStreamReader reader = new 
InputStreamReader(process.getInputStream());
+        InputStreamReader reader = new 
InputStreamReader(process.getInputStream(), Charset.defaultCharset());
         BufferedReader bufferedReader = new BufferedReader(reader);
         process.waitFor();
         return bufferedReader;

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=1617754&r1=1617753&r2=1617754&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
 Wed Aug 13 16:36:36 2014
@@ -20,9 +20,14 @@ package org.apache.tika.language.transla
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.nio.charset.Charset;
 import java.util.Properties;
 
 /**
@@ -73,7 +78,7 @@ public class MosesTranslator extends Ext
     public String translate(String text, String sourceLanguage, String 
targetLanguage) throws Exception {
         if (!isAvailable() || !checkCommand(buildCheckCommand(smtPath), 1)) 
return text;
         File tmpFile = new File(TMP_FILE_NAME);
-        BufferedWriter out = new BufferedWriter(new FileWriter(tmpFile));
+        OutputStreamWriter out = new OutputStreamWriter(new 
FileOutputStream(tmpFile), Charset.defaultCharset());
         out.append(text).append('\n').close();
 
         Runtime.getRuntime().exec(buildCommand(smtPath, scriptPath), new 
String[]{}, buildWorkingDirectory(scriptPath));
@@ -81,9 +86,12 @@ public class MosesTranslator extends Ext
         File tmpTranslatedFile = new File(TMP_FILE_NAME + ".translated");
 
         StringBuilder stringBuilder = new StringBuilder();
-        BufferedReader bufferedReader = new BufferedReader(new 
FileReader(TMP_FILE_NAME + ".translated"));
+        BufferedReader reader = new BufferedReader(new InputStreamReader(
+                new FileInputStream(tmpTranslatedFile),
+                Charset.defaultCharset()
+        ));
         String line;
-        while ((line = bufferedReader.readLine()) != null) 
stringBuilder.append(line);
+        while ((line = reader.readLine()) != null) stringBuilder.append(line);
 
         if (!tmpFile.delete() || !tmpTranslatedFile.delete()){
             throw new IOException("Failed to delete temporary files.");


Reply via email to