A call to runReport() is then made to actually execute the report, and the resultant HTML
output is stored. Next, the database record for this scheduled job is updated, including storing
that report output so it is viewable from the UI.
After that is a catch block to deal with any problems. An attempt is made to write out the
exception message to the database, but a secondary catch is below that to deal with a failure
during that update.
ReportScheduleDescriptor.java
The ReportScheduleDescriptor class is a simple VO that stores information about a given
scheduled report job that has been created in the portal. Its UML diagram can be seen here
in Figure 7-27.
CHAPTER 7 n ENTER THE ENTERPRISE: A DWR-BASED REPORT PORTAL 409
Figure 7-27. UML diagram of the ReportScheduleDescriptor class
No code is shown here as it??™s just a collection of private fields with public getters and
setters for each.
ReportSchedulingWorker.java
Now, we can finally see the light at the end of the tunnel as there is only one class left to
explore! Here now, in Figure 7-28, you can see the UML of that final class,
ReportSchedulingWorker, which is responsible for listing, adding, and deleting scheduled
report jobs; viewing the generated output of a given report execution; and interfacing
with Quartz.
Pages:
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706