Class ServletUtilities


  • public class ServletUtilities
    extends java.lang.Object
    Utility class used for servlet related JFreeChart operations.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.String tempFilePrefix
      The filename prefix.
      private static java.lang.String tempOneTimeFilePrefix
      A prefix for "one time" charts.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      protected static void createTempDir()
      Creates the temporary directory if it does not exist.
      static java.lang.String getTempFilePrefix()
      Returns the prefix for the temporary file names generated by this class.
      static java.lang.String getTempOneTimeFilePrefix()
      Returns the prefix for "one time" temporary file names generated by this class.
      protected static void registerChartForDeletion​(java.io.File tempFile, javax.servlet.http.HttpSession session)
      Adds a ChartDeleter object to the session object with the name JFreeChart_Deleter if there is not already one bound to the session and adds the filename to the list of charts to be deleted.
      static java.lang.String saveChartAsJPEG​(JFreeChart chart, int width, int height, javax.servlet.http.HttpSession session)
      Saves the chart as a JPEG format file in the temporary directory.
      static java.lang.String saveChartAsJPEG​(JFreeChart chart, int width, int height, ChartRenderingInfo info, javax.servlet.http.HttpSession session)
      Saves the chart as a JPEG format file in the temporary directory and populates the ChartRenderingInfo object which can be used to generate an HTML image map.
      static java.lang.String saveChartAsPNG​(JFreeChart chart, int width, int height, javax.servlet.http.HttpSession session)
      Saves the chart as a PNG format file in the temporary directory.
      static java.lang.String saveChartAsPNG​(JFreeChart chart, int width, int height, ChartRenderingInfo info, javax.servlet.http.HttpSession session)
      Saves the chart as a PNG format file in the temporary directory and populates the ChartRenderingInfo object which can be used to generate an HTML image map.
      static java.lang.String searchReplace​(java.lang.String inputString, java.lang.String searchString, java.lang.String replaceString)
      Perform a search/replace operation on a String There are String methods to do this since (JDK 1.4)
      static void sendTempFile​(java.io.File file, javax.servlet.http.HttpServletResponse response)
      Binary streams the specified file to the HTTP response in 1KB chunks.
      static void sendTempFile​(java.io.File file, javax.servlet.http.HttpServletResponse response, java.lang.String mimeType)
      Binary streams the specified file to the HTTP response in 1KB chunks.
      static void sendTempFile​(java.lang.String filename, javax.servlet.http.HttpServletResponse response)
      Binary streams the specified file in the temporary directory to the HTTP response in 1KB chunks.
      static void setTempFilePrefix​(java.lang.String prefix)
      Sets the prefix for the temporary file names generated by this class.
      static void setTempOneTimeFilePrefix​(java.lang.String prefix)
      Sets the prefix for the "one time" temporary file names generated by this class.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • tempFilePrefix

        private static java.lang.String tempFilePrefix
        The filename prefix.
      • tempOneTimeFilePrefix

        private static java.lang.String tempOneTimeFilePrefix
        A prefix for "one time" charts.
    • Constructor Detail

      • ServletUtilities

        public ServletUtilities()
    • Method Detail

      • getTempFilePrefix

        public static java.lang.String getTempFilePrefix()
        Returns the prefix for the temporary file names generated by this class.
        Returns:
        The prefix (never null).
      • setTempFilePrefix

        public static void setTempFilePrefix​(java.lang.String prefix)
        Sets the prefix for the temporary file names generated by this class.
        Parameters:
        prefix - the prefix (null not permitted).
      • getTempOneTimeFilePrefix

        public static java.lang.String getTempOneTimeFilePrefix()
        Returns the prefix for "one time" temporary file names generated by this class.
        Returns:
        The prefix.
      • setTempOneTimeFilePrefix

        public static void setTempOneTimeFilePrefix​(java.lang.String prefix)
        Sets the prefix for the "one time" temporary file names generated by this class.
        Parameters:
        prefix - the prefix (null not permitted).
      • saveChartAsPNG

        public static java.lang.String saveChartAsPNG​(JFreeChart chart,
                                                      int width,
                                                      int height,
                                                      javax.servlet.http.HttpSession session)
                                               throws java.io.IOException
        Saves the chart as a PNG format file in the temporary directory.
        Parameters:
        chart - the JFreeChart to be saved.
        width - the width of the chart.
        height - the height of the chart.
        session - the HttpSession of the client (if null, the temporary file is marked as "one-time" and deleted by the DisplayChart servlet right after it is streamed to the client).
        Returns:
        The filename of the chart saved in the temporary directory.
        Throws:
        java.io.IOException - if there is a problem saving the file.
      • saveChartAsPNG

        public static java.lang.String saveChartAsPNG​(JFreeChart chart,
                                                      int width,
                                                      int height,
                                                      ChartRenderingInfo info,
                                                      javax.servlet.http.HttpSession session)
                                               throws java.io.IOException
        Saves the chart as a PNG format file in the temporary directory and populates the ChartRenderingInfo object which can be used to generate an HTML image map.
        Parameters:
        chart - the chart to be saved (null not permitted).
        width - the width of the chart.
        height - the height of the chart.
        info - the ChartRenderingInfo object to be populated (null permitted).
        session - the HttpSession of the client (if null, the temporary file is marked as "one-time" and deleted by the DisplayChart servlet right after it is streamed to the client).
        Returns:
        The filename of the chart saved in the temporary directory.
        Throws:
        java.io.IOException - if there is a problem saving the file.
      • saveChartAsJPEG

        public static java.lang.String saveChartAsJPEG​(JFreeChart chart,
                                                       int width,
                                                       int height,
                                                       javax.servlet.http.HttpSession session)
                                                throws java.io.IOException
        Saves the chart as a JPEG format file in the temporary directory.

        SPECIAL NOTE: Please avoid using JPEG as an image format for charts, it is a "lossy" format that introduces visible distortions in the resulting image - use PNG instead. In addition, note that JPEG output is supported by JFreeChart only for JRE 1.4.2 or later.

        Parameters:
        chart - the JFreeChart to be saved.
        width - the width of the chart.
        height - the height of the chart.
        session - the HttpSession of the client (if null, the temporary file is marked as "one-time" and deleted by the DisplayChart servlet right after it is streamed to the client).
        Returns:
        The filename of the chart saved in the temporary directory.
        Throws:
        java.io.IOException - if there is a problem saving the file.
      • saveChartAsJPEG

        public static java.lang.String saveChartAsJPEG​(JFreeChart chart,
                                                       int width,
                                                       int height,
                                                       ChartRenderingInfo info,
                                                       javax.servlet.http.HttpSession session)
                                                throws java.io.IOException
        Saves the chart as a JPEG format file in the temporary directory and populates the ChartRenderingInfo object which can be used to generate an HTML image map.

        SPECIAL NOTE: Please avoid using JPEG as an image format for charts, it is a "lossy" format that introduces visible distortions in the resulting image - use PNG instead. In addition, note that JPEG output is supported by JFreeChart only for JRE 1.4.2 or later.

        Parameters:
        chart - the chart to be saved (null not permitted).
        width - the width of the chart
        height - the height of the chart
        info - the ChartRenderingInfo object to be populated
        session - the HttpSession of the client (if null, the temporary file is marked as "one-time" and deleted by the DisplayChart servlet right after it is streamed to the client).
        Returns:
        The filename of the chart saved in the temporary directory
        Throws:
        java.io.IOException - if there is a problem saving the file.
      • createTempDir

        protected static void createTempDir()
        Creates the temporary directory if it does not exist. Throws a RuntimeException if the temporary directory is null. Uses the system property java.io.tmpdir as the temporary directory. This sounds like a strange thing to do but my temporary directory was not created on my default Tomcat 4.0.3 installation. Could save some questions on the forum if it is created when not present.
      • registerChartForDeletion

        protected static void registerChartForDeletion​(java.io.File tempFile,
                                                       javax.servlet.http.HttpSession session)
        Adds a ChartDeleter object to the session object with the name JFreeChart_Deleter if there is not already one bound to the session and adds the filename to the list of charts to be deleted.
        Parameters:
        tempFile - the file to be deleted.
        session - the HTTP session of the client.
      • sendTempFile

        public static void sendTempFile​(java.lang.String filename,
                                        javax.servlet.http.HttpServletResponse response)
                                 throws java.io.IOException
        Binary streams the specified file in the temporary directory to the HTTP response in 1KB chunks.
        Parameters:
        filename - the name of the file in the temporary directory.
        response - the HTTP response object.
        Throws:
        java.io.IOException - if there is an I/O problem.
      • sendTempFile

        public static void sendTempFile​(java.io.File file,
                                        javax.servlet.http.HttpServletResponse response)
                                 throws java.io.IOException
        Binary streams the specified file to the HTTP response in 1KB chunks.
        Parameters:
        file - the file to be streamed.
        response - the HTTP response object.
        Throws:
        java.io.IOException - if there is an I/O problem.
      • sendTempFile

        public static void sendTempFile​(java.io.File file,
                                        javax.servlet.http.HttpServletResponse response,
                                        java.lang.String mimeType)
                                 throws java.io.IOException
        Binary streams the specified file to the HTTP response in 1KB chunks.
        Parameters:
        file - the file to be streamed.
        response - the HTTP response object.
        mimeType - the mime type of the file, null allowed.
        Throws:
        java.io.IOException - if there is an I/O problem.
      • searchReplace

        public static java.lang.String searchReplace​(java.lang.String inputString,
                                                     java.lang.String searchString,
                                                     java.lang.String replaceString)
        Perform a search/replace operation on a String There are String methods to do this since (JDK 1.4)
        Parameters:
        inputString - the String to have the search/replace operation.
        searchString - the search String.
        replaceString - the replace String.
        Returns:
        The String with the replacements made.