<?xml version="1.0" encoding="iso-8859-1"?>
<spooler>
    <!-- Sample configuration for JasperReports solution stack:

This configuration file contains:

   - Job: jasper_report

     This job is used in a job chain for a web service to create reports from orders
     
   Samples that generate reports:

   - Job: jasper_report_scheduler_job_history
     creates a report of scheduler jobs

   - Job: jasper_report_scheduler_order_history
     creates a report of scheduler orders 
    -->
    <config>
        <web_services>
            <web_service debug="no"
                         name="jasper_service"
                         url_path="/jasper_service"
                         job_chain="jasper_service">
              <params>
                <param name="request_stylesheet"  value="config/scheduler_soap_request.xslt"/>
                <param name="response_stylesheet" value="config/scheduler_soap_response.xslt"/>
              </params>
            </web_service>
        </web_services>


        <jobs>
            <!-- This job runs standalone and creates a report from a compiled JasperReports configuration file. 
            -->
            <job name="jasper_report"
                 title="Create JasperReport">

                <description>
                    <include file="jobs/JobSchedulerJasperReportJob.xml"/>
                </description>

                <script java_class="sos.stacks.jasperreports.JobSchedulerJasperReportJob"
                        language="java"/>
            </job>

            <!-- This job accepts orders to create reports from compiled JasperReports configuration files.
            -->
            <job name="jasper_report_service"
                 title="Create JasperReport from orders"
                 order="yes"
                 idle_timeout="300">
                 
                <description>
                    <include file="jobs/JobSchedulerJasperReportJob.xml"/>
                </description>
                
                <script java_class="sos.stacks.jasperreports.JobSchedulerJasperReportJob"
                        language="java"/>
            </job>

            <job name="jasper_report_scheduler_job_history"
                 title="Create report for the job history">
                 
                <description>
                    <include file="jobs/JobSchedulerJasperReportJob.xml"/>
                </description>
                
                <params>
                  <param name="report_filename" value="samples/jasperreports/config/scheduler_job_history.jasper"/>
                  <param name="query_filename"  value="samples/jasperreports/config/scheduler_job_history.pgsql.sql"/>
                  <param name="output_filename" value="samples/jasperreports/reports/scheduler_job_history.pdf"/>
                </params>
                
                <script java_class="sos.stacks.jasperreports.JobSchedulerJasperReportJob"
                        language="java"/>
            </job>

            <job name="jasper_report_scheduler_order_history"
                 title="Create report for the order history">

                <description>
                    <include file="jobs/JobSchedulerJasperReportJob.xml"/>
                </description>

                <params>
                  <param name="report_filename" value="samples/jasperreports/config/scheduler_order_history.jasper"/>
                  <param name="query_filename"  value="samples/jasperreports/config/scheduler_order_history.pgsql.sql"/>
                  <param name="output_filename" value="samples/jasperreports/reports/scheduler_order_history.pdf"/>
                </params>

                <script java_class="sos.stacks.jasperreports.JobSchedulerJasperReportJob"
                        language="java"/>
            </job>

        </jobs>


        <job_chains>
            <job_chain name="jasper_service"
                       orders_recoverable="yes"
                       visible="yes">
                <job_chain_node state="start"
                                job="jasper_report_service"
                                next_state="end"
                                error_state="error"/>
                <job_chain_node state="end"/>
                <job_chain_node state="error"/>
            </job_chain>
        </job_chains>
    </config>
</spooler>
