org.jiim.translation
Class TranslationEngineAltavistaImpl

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

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

Implementation of the translation engine interface that scrapes Altavista's Babelfish

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

Field Summary
protected  org.apache.commons.logging.Log logger
           
 
Constructor Summary
TranslationEngineAltavistaImpl()
           
 
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()
           
 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

TranslationEngineAltavistaImpl

public TranslationEngineAltavistaImpl()
                               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)


© 2005 jorge de castro