package fi.arcusys.koku.users;
import org.apache.log4j.Logger;
import fi.arcusys.koku.exceptions.KokuServiceException;
import fi.arcusys.koku.util.PortalRole;
/**
* Service to resolve user (citizen/employee) UID
*
* @author Toni Turunen
*
*/
public class UserIdResolver {
private static final Logger LOG = Logger.getLogger(UserIdResolver.class);
private final KokuUserService userService;
public UserIdResolver() {
userService = new KokuUserService();
}
/**
* Returns unique userId by given username.
* If user not found returns null.
*
* @param username or null if user not found
* @return userId
*/
public String getUserId(String username, PortalRole role) throws KokuServiceException {
String userId = null;
if (username == null || username.isEmpty()) {
return null;
}
switch (role) {
case CITIZEN:
userId = userService.getUserUidByKunpoName(username);
break;
case EMPLOYEE:
userId = userService.getUserUidByLooraName(username);
break;
default:
userId = null;
break;
}
if (userId == null) {
LOG.info("Couldn't find userId by given username: " + username + " PortalRole: " + role);
}
return userId;
}
}