Class JasperTemplateController


  • @Controller
    @Transactional
    @RequestMapping("/api/reports/templates")
    public class JasperTemplateController
    extends BaseController
    This class is responsible for manipulation of Jasper report files.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void createJasperReportTemplate​(org.springframework.web.multipart.MultipartFile file, java.lang.String name, java.lang.String description)
      Adding report templates with ".jrxml" format to database.
      void deleteTemplate​(java.util.UUID templateId)
      Allows deleting template from db with given id.
      void generateReport​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.UUID templateId, java.lang.String format)
      Generate a report based on the template, the format and the request parameters.
      java.lang.Object generateReportIfModified​(java.util.UUID templateId, long version)
      Generate a report based on the template and request parameters.
      JasperTemplateDto getTemplate​(java.util.UUID templateId)
      Get template from db with given id.
      java.util.List<JasperTemplateDto> getVisibleTemplates()
      Get visible templates JasperTemplateDto.
      • Methods inherited from class java.lang.Object

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

      • JasperTemplateController

        public JasperTemplateController()
    • Method Detail

      • createJasperReportTemplate

        @RequestMapping(method=POST)
        @ResponseStatus(OK)
        public void createJasperReportTemplate​(@RequestPart("file")
                                               org.springframework.web.multipart.MultipartFile file,
                                               java.lang.String name,
                                               java.lang.String description)
        Adding report templates with ".jrxml" format to database.
        Parameters:
        file - File in ".jrxml" format to upload
        name - Name of file in database
        description - Description of the file
      • getVisibleTemplates

        @RequestMapping(method=GET)
        @ResponseStatus(OK)
        @ResponseBody
        public java.util.List<JasperTemplateDto> getVisibleTemplates()
        Get visible templates JasperTemplateDto.
        Returns:
        Templates.
      • getTemplate

        @RequestMapping(value="/{id}",
                        method=GET)
        @ResponseStatus(OK)
        @ResponseBody
        public JasperTemplateDto getTemplate​(@PathVariable("id")
                                             java.util.UUID templateId)
        Get template from db with given id.
        Parameters:
        templateId - UUID of template which we want to get
        Returns:
        template with given id or throws error if not found.
        Throws:
        EntityNotFoundException - if template is missing
      • deleteTemplate

        @RequestMapping(value="/{id}",
                        method=DELETE)
        @ResponseStatus(NO_CONTENT)
        public void deleteTemplate​(@PathVariable("id")
                                   java.util.UUID templateId)
        Allows deleting template from db with given id.
        Parameters:
        templateId - UUID of template which we want to delete
        Throws:
        EntityNotFoundException - if jasper template is missing
      • generateReport

        @RequestMapping(value="/{id}/{format}",
                        method=GET)
        public void generateReport​(javax.servlet.http.HttpServletRequest request,
                                   javax.servlet.http.HttpServletResponse response,
                                   @PathVariable("id")
                                   java.util.UUID templateId,
                                   @PathVariable("format")
                                   java.lang.String format)
                            throws java.sql.SQLException,
                                   net.sf.jasperreports.engine.JRException,
                                   java.io.IOException
        Generate a report based on the template, the format and the request parameters.
        Parameters:
        request - request (to get the request parameters)
        templateId - report template ID
        format - report format to generate, default is PDF
        response - response object used to set proper headers
        Throws:
        java.sql.SQLException - if there is an error while connecting to db
        java.io.IOException - if there is an error while creating Exporter
        net.sf.jasperreports.engine.JRException - if there is an error while creating JasperReport
      • generateReportIfModified

        @RequestMapping(value="/{id}/json/versioned",
                        method=GET,
                        produces="application/json")
        @ResponseBody
        public java.lang.Object generateReportIfModified​(@PathVariable("id")
                                                         java.util.UUID templateId,
                                                         @RequestParam("version")
                                                         long version)
                                                  throws java.sql.SQLException,
                                                         net.sf.jasperreports.engine.JRException,
                                                         java.io.IOException
        Generate a report based on the template and request parameters. Return the generated report only if its version has changed
        Parameters:
        templateId - report template ID
        version - a version (timestamp) of the report
        Returns:
        the generated report along with its version
        Throws:
        java.sql.SQLException - if there is an error while connecting to db
        java.io.IOException - if there is an error while creating Exporter
        net.sf.jasperreports.engine.JRException - if there is an error while creating JasperReport