KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > efs > openreports > services > AlertServiceImpl


1 /*
2  * Copyright (C) 2006 Erik Swenson - erik@oreports.com
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the Free
6  * Software Foundation; either version 2 of the License, or (at your option)
7  * any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
16  * Place - Suite 330, Boston, MA 02111-1307, USA.
17  *
18  */

19
20 package org.efs.openreports.services;
21
22 import java.util.ArrayList JavaDoc;
23 import java.util.Iterator JavaDoc;
24
25 import org.apache.log4j.Logger;
26 import org.efs.openreports.objects.ReportUser;
27 import org.efs.openreports.objects.ReportUserAlert;
28 import org.efs.openreports.providers.AlertProvider;
29 import org.efs.openreports.providers.ProviderException;
30 import org.efs.openreports.providers.UserProvider;
31 import org.efs.openreports.services.info.AlertInfo;
32 import org.efs.openreports.services.util.Converter;
33
34 /**
35  * AlertService implementation using standard OpenReports providers.
36  *
37  * @author Erik Swenson
38  */

39
40 public class AlertServiceImpl implements AlertService
41 {
42     private static Logger log = Logger.getLogger(AlertServiceImpl.class.getName());
43
44     private AlertProvider alertProvider;
45     private UserProvider userProvider;
46
47     public AlertServiceImpl()
48     {
49         log.info("AlertService: Started");
50     }
51     
52     public AlertInfo[] getAlerts(String JavaDoc 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 JavaDoc alerts = new ArrayList JavaDoc();
67         
68         Iterator JavaDoc iterator = user.getAlerts().iterator();
69         while(iterator.hasNext())
70         {
71             ReportUserAlert userAlert = (ReportUserAlert) iterator.next();
72             userAlert.setUser(user);
73             
74             try
75             {
76                 userAlert = alertProvider.executeAlert(userAlert, false);
77
78                 alerts.add(Converter.convertToAlertInfo(userAlert));
79             }
80             catch (ProviderException e)
81             {
82                 AlertInfo alertInfo = new AlertInfo();
83                 alertInfo.setMessage(e.toString());
84                 
85                 alerts.add(alertInfo);
86             }
87         }
88         
89         AlertInfo[] alertInfos = new AlertInfo[alerts.size()];
90         alerts.toArray(alertInfos);
91         
92         return alertInfos;
93     }
94     
95     public void setAlertProvider(AlertProvider alertProvider)
96     {
97         this.alertProvider = alertProvider;
98     }
99
100     public void setUserProvider(UserProvider userProvider)
101     {
102         this.userProvider = userProvider;
103     }
104 }
105
Popular Tags