Class JasperTemplateService


  • @Service
    public class JasperTemplateService
    extends java.lang.Object
    This class is responsible for managing JasperTemplate (i.e. creation, read, update, deletion). Also it is used for conversion of template files, because they are stored in the db in HEX format.
    • Field Detail

      • REPORT_TYPE_PROPERTY

        protected static final java.lang.String REPORT_TYPE_PROPERTY
        See Also:
        Constant Field Values
      • SUPPORTED_FORMATS_PROPERTY

        protected static final java.lang.String SUPPORTED_FORMATS_PROPERTY
        See Also:
        Constant Field Values
    • Constructor Detail

    • Method Detail

      • saveTemplate

        public JasperTemplate saveTemplate​(org.springframework.web.multipart.MultipartFile file,
                                           java.lang.String name,
                                           java.lang.String description)
        Saves a template with given name. If template already exists, only description and required rights are updated.
        Parameters:
        file - report file
        name - name of report
        description - report's description
        Returns:
        saved report template
      • saveJsonOutput

        public JasperTemplate saveJsonOutput​(JasperTemplate jasperTemplate,
                                             java.lang.String jsonOutput)
        Updates the json output and version in a report template.
        Parameters:
        jasperTemplate - the report's template
        jsonOutput - the json output of given template
        Returns:
        saved report template
      • mapRequestParametersToTemplate

        public java.util.Map<java.lang.String,​java.lang.Object> mapRequestParametersToTemplate​(javax.servlet.http.HttpServletRequest request,
                                                                                                     JasperTemplate template)
        Map request parameters to the template parameters in the template. If there are no template parameters, returns an empty Map.
        Parameters:
        request - request with parameters
        template - template with parameters
        Returns:
        Map of matching parameters, empty Map if none match
      • validateFileAndInsertTemplate

        protected void validateFileAndInsertTemplate​(JasperTemplate jasperTemplate,
                                                     org.springframework.web.multipart.MultipartFile file)
        Validate ".jrmxl" file and insert this template to database. Throws reporting exception if an error occurs during file validation or parsing.
        Parameters:
        jasperTemplate - template to fill data
        file - file to validate
      • saveWithParameters

        protected void saveWithParameters​(JasperTemplate jasperTemplate)
        Insert template and template parameters to database.
        Parameters:
        jasperTemplate - template to save
      • validateFileAndSaveTemplate

        protected void validateFileAndSaveTemplate​(JasperTemplate jasperTemplate,
                                                   org.springframework.web.multipart.MultipartFile file)
        Validate ".jrmxl" file and insert if template not exist. If this name of template already exist, remove older template and insert new.
        Parameters:
        file - file to validate
        jasperTemplate - template to save
      • compileReport

        protected net.sf.jasperreports.engine.JasperReport compileReport​(java.io.InputStream inputStream)
                                                                  throws net.sf.jasperreports.engine.JRException
        Throws:
        net.sf.jasperreports.engine.JRException
      • writeReportToByteArray

        protected byte[] writeReportToByteArray​(net.sf.jasperreports.engine.JasperReport report)
                                         throws java.io.IOException
        Throws:
        java.io.IOException