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:
  • Constructor Details

    • LocalizationServlet

      public LocalizationServlet()
  • Method Details

    • getLogger

      public org.apache.commons.logging.Log getLogger()
      Specified by:
      getLogger in class ServletBase
    • doGet

      public void doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException
      Overrides:
      doGet in class javax.servlet.http.HttpServlet
      Throws:
      javax.servlet.ServletException
      IOException
    • doPost

      public void doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException
      Overrides:
      doPost in class javax.servlet.http.HttpServlet
      Throws:
      javax.servlet.ServletException
      IOException
    • getBundle

      protected ResourceBundle getBundle(String pluginId, String name)
      Retrieve a ResourceBundle from a plugin.
      Parameters:
      pluginId - ID of the plugin to load the resource bundle from
      name - 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 Id
      MissingResourceException - 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 manager
      pluginId - ID of plugin whose "cache-messages" setting should be checked
      Returns:
      true if 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 from
      name - 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 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