org.jiim.translation
Class TranslationEngineGoogleImpl

java.lang.Object
  extended by org.jiim.translation.TranslationEngineGoogleImpl
All Implemented Interfaces:
java.io.Serializable, ITranslationEngine

public class TranslationEngineGoogleImpl
extends java.lang.Object
implements ITranslationEngine, java.io.Serializable

Implementation of the translation engine interface that scrapes Google Translate

Author:
Jorge De Castro
See Also:
ITranslationEngine, Serialized Form

Field Summary
protected  org.apache.commons.logging.Log logger
           
 
Constructor Summary
TranslationEngineGoogleImpl()
           
 
Method Summary
 java.lang.String extractTranslatedText(java.lang.String text)
           
 java.util.Map<java.lang.String,java.lang.String> getProperties()
           
 java.lang.String getResponseFromTranslationService(java.net.URLConnection conn)
           
 java.net.URL getUrl()
           
 void init()
           
static void main(java.lang.String[] args)
           
 void sendRequestToTranslationService(java.net.URLConnection conn, java.lang.String fromLanguage, java.lang.String toLanguage, java.lang.String text)
           
 void setProperties(java.util.Map<java.lang.String,java.lang.String> params)
          Set the optional key/value pairs of parameters needed to access the translation service API
 void setUrl(java.net.URL url)
          The URL of the translation service, e.g.: 'http://babelfish.altavista.com/tr'
 java.lang.String translate(java.lang.String fromLanguage, java.lang.String toLanguage, java.lang.String text)
          NOTE: I had to set URIEncoding="UTF-8" on Tomcat's server.xml to get Chinese-English translation working; see http://java.sun.com/developer/technicalArticles/Intl/HTTPCharset/
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.apache.commons.logging.Log logger
Constructor Detail

TranslationEngineGoogleImpl

public TranslationEngineGoogleImpl()
                            throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException
Method Detail

init

public void init()

getUrl

public java.net.URL getUrl()
Specified by:
getUrl in interface ITranslationEngine
Returns:
URL of translation engine

setUrl

public void setUrl(java.net.URL url)
Description copied from interface: ITranslationEngine
The URL of the translation service, e.g.: 'http://babelfish.altavista.com/tr'

Specified by:
setUrl in interface ITranslationEngine

setProperties

public void setProperties(java.util.Map<java.lang.String,java.lang.String> params)
Description copied from interface: ITranslationEngine
Set the optional key/value pairs of parameters needed to access the translation service API

Specified by:
setProperties in interface ITranslationEngine

getProperties

public java.util.Map<java.lang.String,java.lang.String> getProperties()
Specified by:
getProperties in interface ITranslationEngine
Returns:
Map containing key/value pairs of parameters needed to access the translation service API

translate

public java.lang.String translate(java.lang.String fromLanguage,
                                  java.lang.String toLanguage,
                                  java.lang.String text)
                           throws TranslationException
NOTE: I had to set URIEncoding="UTF-8" on Tomcat's server.xml to get Chinese-English translation working; see http://java.sun.com/developer/technicalArticles/Intl/HTTPCharset/

Specified by:
translate in interface ITranslationEngine
Parameters:
fromLanguage -
toLanguage -
text -
Returns:
Throws:
java.io.IOException
TranslationException

sendRequestToTranslationService

public void sendRequestToTranslationService(java.net.URLConnection conn,
                                            java.lang.String fromLanguage,
                                            java.lang.String toLanguage,
                                            java.lang.String text)
                                     throws TranslationException
Throws:
TranslationException

getResponseFromTranslationService

public java.lang.String getResponseFromTranslationService(java.net.URLConnection conn)
                                                   throws TranslationException
Throws:
TranslationException

extractTranslatedText

public java.lang.String extractTranslatedText(java.lang.String text)

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception


© 2005 jorge de castro