1 19 20 package org.efs.openreports.services; 21 22 import java.util.ArrayList ; 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 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 userName, String 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 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 e) 99 { 100 callInfo.setMessage(e.toString()); 101 } 102 103 return callInfo; 104 } 105 106 public ReportInfo[] getReports(String 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 userReports = new ArrayList (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 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 |