KickJava   Java API By Example, From Geeks To Geeks.

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


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
24 import org.apache.log4j.Logger;
25 import org.efs.openreports.objects.Report;
26 import org.efs.openreports.objects.ReportUser;
27 import org.efs.openreports.providers.ProviderException;
28 import org.efs.openreports.providers.UserProvider;
29 import org.efs.openreports.services.info.ReportInfo;
30 import org.efs.openreports.services.info.ServiceCallInfo;
31 import org.efs.openreports.services.info.UserInfo;
32 import org.efs.openreports.services.util.Converter;
33
34 /**
35  * UserService implementation using standard OpenReports providers.
36  *
37  * @author Erik Swenson
38  */

39
40 public class UserServiceImpl implements UserService
41 {
42     private static Logger log = Logger.getLogger(UserServiceImpl.class.getName());
43     
44     private UserProvider userProvider;
45
46     public UserServiceImpl()
47     {
48         log.info("UserService: Started");
49     }
50
51     public boolean authenticate(String JavaDoc userName, String JavaDoc password)
52     {
53         boolean authenticated = false;
54         
55         try
56         {
57             ReportUser user = userProvider.getUser(userName);
58             if (user != null && user.getPassword().equals(password)) return true;
59         }
60         catch(ProviderException pe)
61         {
62             log.warn(pe);
63         }
64         
65         return authenticated;
66     }
67     
68     public UserInfo getUserInfo(String JavaDoc userName)
69     {
70         try
71         {
72             ReportUser user = userProvider.getUser(userName);
73             if (user != null)
74             {
75                 return Converter.convertToUserInfo(user);
76             }
77         }
78         catch(ProviderException pe)
79         {
80             log.warn(pe);
81         }
82         
83         return null;
84     }
85     
86     public ServiceCallInfo updateUserInfo(UserInfo userInfo)
87     {
88         ServiceCallInfo callInfo = new ServiceCallInfo();
89         
90         try
91         {
92             ReportUser user = userProvider.getUser(userInfo.getName());
93             user.setPassword(userInfo.getPassword());
94             user.setEmail(userInfo.getEmailAddress());
95             
96             userProvider.updateUser(user);
97         }
98         catch(Exception JavaDoc e)
99         {
100             callInfo.setMessage(e.toString());
101         }
102         
103         return callInfo;
104     }
105     
106     public ReportInfo[] getReports(String JavaDoc userName)
107     {
108         if (userName == null) return null;
109
110         ReportInfo[] reports = null;
111
112         try
113         {
114             ReportUser user = userProvider.getUser(userName);
115             if (user != null && user.getReports() != null)
116             {
117                 ArrayList JavaDoc userReports = new ArrayList JavaDoc(user.getReports());
118
119                 reports = new ReportInfo[userReports.size()];
120                 for (int i = 0; i < userReports.size(); i++)
121                 {
122                     reports[i] = Converter.convertToReportInfo((Report)userReports.get(i));
123                 }
124             }
125         }
126         catch (Exception JavaDoc e)
127         {
128             log.warn(e);
129         }
130
131         return reports;
132     }
133
134     public void setUserProvider(UserProvider userProvider)
135     {
136         this.userProvider = userProvider;
137     }
138 }
139
Popular Tags