Examples of JRVirtualizer


Examples of net.sf.jasperreports.engine.JRVirtualizer

  }

 
  private void setThreadVirtualizer()
  {
    JRVirtualizer threadVirtualizer = JRVirtualizationHelper.getThreadVirtualizer();
    if (threadVirtualizer != null)
    {
      virtualizer = threadVirtualizer;
      virtualizer.registerObject(this);
    }
View Full Code Here

Examples of net.sf.jasperreports.engine.JRVirtualizer

    Map<String,Object> reportParameters = reportSchedule.getReportParameters();

    log.debug("Report: " + report.getName());
    log.debug("User: " + user.getName());   

    JRVirtualizer virtualizer = null;
          
    ReportLog reportLog = new ReportLog(user, report, new Date());
        reportLog.setExportType(reportSchedule.getExportType());
        reportLog.setRequestId(reportSchedule.getRequestId());
       
    try
    {
      //
      ReportUserAlert alert = reportSchedule.getAlert();     
     
      if (alert != null)
      {
        log.debug("Executing Alert Condition");
       
        alert.setReport(report);
        alert = alertProvider.executeAlert(alert, true);
       
        if (!alert.isTriggered())
        {
          log.debug("Alert Not Triggered. Report not run.");
          return;
        }
       
        log.debug("Alert Triggered. Running report.");
      }
      //     

      // add standard report parameters
      reportParameters.put(ORStatics.USER_ID, user.getId());
      reportParameters.put(ORStatics.EXTERNAL_ID, user.getExternalId());
      reportParameters.put(ORStatics.USER_NAME, user.getName());
      reportParameters.put(ORStatics.IMAGE_DIR, new File(directoryProvider.getReportImageDirectory()));
      reportParameters.put(ORStatics.REPORT_DIR, new File(directoryProvider.getReportDirectory()));
      //
     
      reportLogProvider.insertReportLog(reportLog);     
     
      ReportEngineInput reportInput = new ReportEngineInput(report, reportParameters);
      reportInput.setExportType(ExportType.findByCode(reportSchedule.getExportType()));
            reportInput.setXmlInput(reportSchedule.getXmlInput());
            reportInput.setLocale(reportSchedule.getLocale());
     
      if (report.isJasperReport())
      {
        // add any charts
        if (report.getReportChart() != null)
        {
          log.debug("Adding chart: " + report.getReportChart().getName());
       
          ChartReportEngine chartEngine = new ChartReportEngine(
              dataSourceProvider, directoryProvider, propertiesProvider);
         
          ChartEngineOutput chartOutput = (ChartEngineOutput) chartEngine.generateReport(reportInput);
       
          reportParameters.put("ChartImage", chartOutput.getContent());       
        }

        if (report.isVirtualizationEnabled())
        {
          log.debug("Virtualization Enabled");
          virtualizer = new JRFileVirtualizer(2, directoryProvider.getTempDirectory());
          reportParameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
        }
       
        reportInput.setParameters(reportParameters);
        reportInput.setInlineImages(true);       
      }
     
      ReportEngine reportEngine = ReportEngineHelper.getReportEngine(report,
          dataSourceProvider, directoryProvider, propertiesProvider)
      reportEngine.setApplicationContext(appContext);
     
      ReportEngineOutput reportOutput = reportEngine.generateReport(reportInput);           
          
            String[] deliveryMethods = reportSchedule.getDeliveryMethods();     
           
            if (deliveryMethods == null || deliveryMethods.length == 0)
            {
                deliveryMethods = new String[]{org.efs.openreports.ReportConstants.DeliveryMethod.EMAIL.getName()};
                log.warn("DeliveryMethod not set, defaulting to email delivery");
            }
           
            // set status to success. if a delivery method fails, this is updated to delivery failure
            reportLog.setStatus(ReportLog.STATUS_SUCCESS);
           
            ArrayList<ReportDeliveryLog> deliveryLogs = new ArrayList<ReportDeliveryLog>();
           
            for (int i=0; i < deliveryMethods.length; i++)
            {                                 
                ReportDeliveryLog deliveryLog = new ReportDeliveryLog(deliveryMethods[i], new Date());
           
                try
                {     
                  String deliveryMethodBeanId = deliveryMethods[i] + "DeliveryMethod";
                 
                    DeliveryMethod deliveryMethod = (DeliveryMethod) appContext.getBean(deliveryMethodBeanId, DeliveryMethod.class);           
                    deliveryMethod.deliverReport(reportSchedule, reportOutput);
                   
                    deliveryLog.setEndTime(new Date());
                    deliveryLog.setStatus(ReportLog.STATUS_SUCCESS);
                }               
                catch(DeliveryException de)
                {
                  log.error("Delivery Error: " + reportSchedule.getRequestId(), de);
                 
                    deliveryLog.setMessage(de.toString());
                    deliveryLog.setStatus(ReportLog.STATUS_DELIVERY_FAILURE);
                   
                    reportLog.setMessage(de.toString());
                    reportLog.setStatus(ReportLog.STATUS_DELIVERY_FAILURE);                   
                }
               
                deliveryLogs.add(deliveryLog);               
            }   

            reportLog.setDeliveryLogs(deliveryLogs);
      reportLog.setEndTime(new Date());     
           
      reportLogProvider.updateReportLog(reportLog);

      log.debug("Scheduled Report Finished...");
    }
    catch (Exception e)
    {
      if (e.getMessage() != null && e.getMessage().indexOf("Empty") > 0)
      {
        reportLog.setStatus(ReportLog.STATUS_EMPTY);
      }
      else
      {       
        log.error("ScheduledReport Error: " + reportSchedule.getRequestId(), e);

        reportLog.setMessage(e.toString());
        reportLog.setStatus(ReportLog.STATUS_FAILURE);
      }

      reportLog.setEndTime(new Date());

      try
      {
        reportLogProvider.updateReportLog(reportLog);
      }
      catch (Exception ex)
      {
        log.error("Unable to create ReportLog: " + ex.getMessage());
      }     
    }
    finally
    {
      if (virtualizer != null)
      {
        reportParameters.remove(JRParameter.REPORT_VIRTUALIZER);     
        virtualizer.cleanup();
      }         
    } 
   
    // execute all callbacks after the job is finished processing
    executeCallbacks(reportLog);
View Full Code Here

Examples of net.sf.jasperreports.engine.JRVirtualizer

    response.setHeader("Cache-Control", "max-age=0");

    ReportLog reportLog = new ReportLog(user, report, new Date());
        reportLog.setExportType(exportType.getCode());
   
    JRVirtualizer virtualizer = null;

    try
    {
      if (exportType == ExportType.PDF)       
      {
        // Handle "contype" request from Internet Explorer
        if ("contype".equals(request.getHeader("User-Agent")))
        {         
                  response.setContentType("application/pdf");             
                  response.setContentLength(0);              
                 
                  ServletOutputStream outputStream = response.getOutputStream();
                  outputStream.close();     
                 
                  return NONE;
        }
      }     
             
      log.debug("Filling report: " + report.getName());
     
      reportLogProvider.insertReportLog(reportLog);           

      if (report.isVirtualizationEnabled() && exportType != ExportType.IMAGE)
      {
        log.debug("Virtualization Enabled");
        virtualizer = new JRFileVirtualizer(2, directoryProvider.getTempDirectory());
        reportParameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
      }

      ReportEngineInput reportInput = new ReportEngineInput(report, reportParameters);
      reportInput.setExportType(exportType);
      reportInput.setImagesMap(imagesMap);

      // add any charts
      if (report.getReportChart() != null)
      {
        log.debug("Adding chart: " + report.getReportChart().getName());

        ChartReportEngine chartEngine = new ChartReportEngine(dataSourceProvider,
            directoryProvider, propertiesProvider);
       
        ChartEngineOutput chartOutput = (ChartEngineOutput) chartEngine
            .generateReport(reportInput);

        reportParameters.put("ChartImage", chartOutput.getContent());
      }
     
      ReportEngineOutput reportOutput = null;
      JasperPrint jasperPrint = null;
     
      if (report.isJasperReport())
      {
        JasperReportEngine jasperEngine = new JasperReportEngine(
            dataSourceProvider, directoryProvider, propertiesProvider);
       
        jasperPrint = jasperEngine.fillReport(reportInput);

        log.debug("Report filled - " + report.getName() + " : size = "
            + jasperPrint.getPages().size());

        log.debug("Exporting report: " + report.getName());

        reportOutput = jasperEngine.exportReport(jasperPrint, exportType, report
            .getReportExportOption(), imagesMap, false);
      }
      else
      {
        ReportEngine reportEngine = ReportEngineHelper.getReportEngine(report, dataSourceProvider, directoryProvider, propertiesProvider);
        reportOutput = reportEngine.generateReport(reportInput);
      }
     
      response.setContentType(reportOutput.getContentType());
     
      if (exportType != ExportType.HTML && exportType != ExportType.IMAGE)
      {
        response.setHeader("Content-disposition", "inline; filename="
            + StringUtils.deleteWhitespace(report.getName()) + reportOutput.getContentExtension());
      }     
     
      if (exportType == ExportType.IMAGE)
      {
        if (jasperPrint != null)
        {         
          session.put(ORStatics.JASPERPRINT, jasperPrint);
        }
      }
      else
      {       
        byte[] content = reportOutput.getContent();
       
        response.setContentLength(content.length);
       
        ServletOutputStream out = response.getOutputStream();
        out.write(content, 0, content.length);
        out.flush();
        out.close();       
      }

      reportLog.setEndTime(new Date());
      reportLog.setStatus(ReportLog.STATUS_SUCCESS);
      reportLogProvider.updateReportLog(reportLog);     

      log.debug("Finished report: " + report.getName());
    }
    catch (Exception e)
    {
      if (e.getMessage() != null && e.getMessage().equals(LocalStrings.ERROR_REPORT_EMPTY))
      {       
        reportLog.setStatus(ReportLog.STATUS_EMPTY);
      }
      else
      {       
        log.error(e.getMessage());

        reportLog.setMessage(e.getMessage());
        reportLog.setStatus(ReportLog.STATUS_FAILURE);
      }
           
            addActionError(getText(e.getMessage()));

      reportLog.setEndTime(new Date());

      try
      {
        reportLogProvider.updateReportLog(reportLog);
      }
      catch (Exception ex)
      {
        log.error("Unable to create ReportLog: " + ex.getMessage());
      }     
     
      return ERROR;
    }
    finally
    {
      if (virtualizer != null)
      {
        reportParameters.remove(JRParameter.REPORT_VIRTUALIZER);     
        virtualizer.cleanup();
      }
    }   
   
    if (exportType == ExportType.IMAGE) return SUCCESS;
   
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.