1 19 20 package org.efs.openreports.services; 21 22 import java.util.ArrayList ; 23 import java.util.Iterator ; 24 25 import org.apache.log4j.Logger; 26 import org.efs.openreports.objects.ReportSchedule; 27 import org.efs.openreports.objects.ReportUser; 28 import org.efs.openreports.providers.ProviderException; 29 import org.efs.openreports.providers.SchedulerProvider; 30 import org.efs.openreports.providers.UserProvider; 31 import org.efs.openreports.services.info.ReportScheduleInfo; 32 import org.efs.openreports.services.util.Converter; 33 34 39 40 public class SchedulerServiceImpl implements SchedulerService 41 { 42 private static Logger log = Logger.getLogger(SchedulerServiceImpl.class.getName()); 43 44 private SchedulerProvider schedulerProvider; 45 private UserProvider userProvider; 46 47 public SchedulerServiceImpl() 48 { 49 log.info("SchedulerService: Started"); 50 } 51 52 public ReportScheduleInfo[] getScheduledReports(String userName) 53 { 54 ReportUser user = null; 55 56 try 57 { 58 user = userProvider.getUser(userName); 59 } 60 catch(ProviderException pe) 61 { 62 log.warn(pe); 63 return null; 64 } 65 66 ArrayList schedules = new ArrayList (); 67 68 try 69 { 70 Iterator iterator = schedulerProvider.getScheduledReports(user).iterator(); 71 while(iterator.hasNext()) 72 { 73 ReportSchedule schedule = (ReportSchedule) iterator.next(); 74 75 ReportScheduleInfo scheduleInfo = new ReportScheduleInfo(); 76 scheduleInfo.setNextFireDate(schedule.getNextFireDate()); 77 scheduleInfo.setReportName(schedule.getReport().getName()); 78 scheduleInfo.setScheduleDescription(schedule.getScheduleDescription()); 79 scheduleInfo.setScheduleTypeName(schedule.getScheduleTypeName()); 80 81 if (schedule.getAlert() != null) 82 { 83 scheduleInfo.setAlert(Converter.convertToAlertInfo(schedule.getAlert())); 84 } 85 86 schedules.add(scheduleInfo); 87 } 88 } 89 catch(ProviderException pe) 90 { 91 log.warn(pe); 92 } 93 94 ReportScheduleInfo[] scheduleInfos = new ReportScheduleInfo[schedules.size()]; 95 schedules.toArray(scheduleInfos); 96 97 return scheduleInfos; 98 } 99 100 public void setUserProvider(UserProvider userProvider) 101 { 102 this.userProvider = userProvider; 103 } 104 105 public void setSchedulerProvider(SchedulerProvider schedulerProvider) 106 { 107 this.schedulerProvider = schedulerProvider; 108 } 109 } 110 | Popular Tags |