Package org.pentaho.platform.web.servlet
Class LocalizationServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- org.pentaho.platform.web.servlet.ServletBase
-
- org.pentaho.platform.web.servlet.LocalizationServlet
-
- All Implemented Interfaces:
Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig,org.pentaho.platform.api.engine.ILogger
public class LocalizationServlet extends ServletBase
This class makes a message bundle available as a JSON hash. This is designed to be used as a web service to allow thin-clients to retrieve message bundles from the server.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.pentaho.platform.web.servlet.ServletBase
debug
-
-
Constructor Summary
Constructors Constructor Description LocalizationServlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)voiddoPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)protected ResourceBundlegetBundle(String pluginId, String name)Retrieve aResourceBundlefrom a plugin.StringgetJSONBundle(String pluginId, String name)Load the resource bundle for the plugin provided and return the resulting properties map as JSON.protected StringgetJsonForBundle(ResourceBundle bundle)Convert a {@see ResourceBundle} into a JSON string.org.apache.commons.logging.LoggetLogger()booleanisMessageCachingEnabled(org.pentaho.platform.api.engine.IPluginManager pm, String pluginId)Should the messages in the Resource Bundle be cached?-
Methods inherited from class org.pentaho.platform.web.servlet.ServletBase
debug, debug, error, error, fatal, fatal, getLoggingLevel, getObjectName, getPentahoSession, info, info, setCorsHeaders, setLoggingLevel, trace, trace, warn, warn
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
-
-
-
-
Method Detail
-
getLogger
public org.apache.commons.logging.Log getLogger()
- Specified by:
getLoggerin classServletBase
-
doGet
public void doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException- Overrides:
doGetin classjavax.servlet.http.HttpServlet- Throws:
javax.servlet.ServletExceptionIOException
-
doPost
public void doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException- Overrides:
doPostin classjavax.servlet.http.HttpServlet- Throws:
javax.servlet.ServletExceptionIOException
-
getBundle
protected ResourceBundle getBundle(String pluginId, String name)
Retrieve aResourceBundlefrom a plugin.- Parameters:
pluginId- ID of the plugin to load the resource bundle fromname- Resource bundle name that resides in the plugin- Returns:
- Resource bundle for the name provided in the plugin referenced by
pluginId - Throws:
IllegalArgumentException- Invalid plugin IdMissingResourceException- Invalid resource bundle name
-
isMessageCachingEnabled
public boolean isMessageCachingEnabled(org.pentaho.platform.api.engine.IPluginManager pm, String pluginId)Should the messages in the Resource Bundle be cached?- Parameters:
pm- Plugin managerpluginId- ID of plugin whose "cache-messages" setting should be checked- Returns:
trueif the localization messages loaded from this plugin should be cached
-
getJSONBundle
public String getJSONBundle(String pluginId, String name)
Load the resource bundle for the plugin provided and return the resulting properties map as JSON. This is intended to be used with Dojo's i18n system (http://dojotoolkit.org/reference-guide/1.7/quickstart/internationalization/index .html#quickstart-internationalization-index)- Parameters:
pluginId- ID of plugin to load the resource fromname- Name of the resource to load- Returns:
- JSON String with a hash of key/value pairs representing properties from the requested resource bundle
-
getJsonForBundle
protected String getJsonForBundle(ResourceBundle bundle) throws org.json.JSONException
Convert a {@see ResourceBundle} into a JSON string.- Parameters:
bundle- Resource bundle to convert- Returns:
- Bundle with all key/value pairs as entries in a hash, returned as a JSON string.
- Throws:
org.json.JSONException
-
-