[1240] | 1 | package gov.va.med.edp.springframework.security.userdetails.memory;
|
---|
| 2 |
|
---|
| 3 | import gov.va.med.edp.springframework.security.userdetails.VistaUserDetails;
|
---|
| 4 | import org.springframework.security.userdetails.UsernameNotFoundException;
|
---|
| 5 | import org.slf4j.Logger;
|
---|
| 6 | import org.slf4j.LoggerFactory;
|
---|
| 7 | import org.springframework.util.Assert;
|
---|
| 8 |
|
---|
| 9 | import java.util.HashMap;
|
---|
| 10 | import java.util.Map;
|
---|
| 11 |
|
---|
| 12 | public class VistaUserMap {
|
---|
| 13 |
|
---|
| 14 | private static final Logger logger = LoggerFactory.getLogger(VistaUserMap.class);
|
---|
| 15 | private Map/*<String, VistaUserDetails>*/ userMap = new HashMap/*<String, VistaUserDetails>*/();
|
---|
| 16 |
|
---|
| 17 | public void addUser(VistaUserDetails user) throws IllegalArgumentException {
|
---|
| 18 | Assert.notNull(user, "Must be a valid User");
|
---|
| 19 |
|
---|
| 20 | logger.info("Adding user [" + getKey(user) + "]");
|
---|
| 21 | this.userMap.put(getKey(user), user);
|
---|
| 22 | }
|
---|
| 23 |
|
---|
| 24 | public VistaUserDetails getUser(String stationNumber, String accessCode, String verifyCode) throws UsernameNotFoundException {
|
---|
| 25 | String key = getKey(stationNumber, accessCode, verifyCode);
|
---|
| 26 | VistaUserDetails result = (VistaUserDetails) this.userMap.get(key);
|
---|
| 27 |
|
---|
| 28 | if (result == null) {
|
---|
| 29 | throw new UsernameNotFoundException("Could not find user for station '" + stationNumber + "', access code '" + accessCode + "'");
|
---|
| 30 | }
|
---|
| 31 |
|
---|
| 32 | return result;
|
---|
| 33 | }
|
---|
| 34 |
|
---|
| 35 | private String getKey(VistaUserDetails user) {
|
---|
| 36 | return (user.getLoginStationNumber() + ";" + user.getPassword()).toUpperCase();
|
---|
| 37 | }
|
---|
| 38 |
|
---|
| 39 | private String getKey(String stationNumber, String accessCode, String verifyCode) {
|
---|
| 40 | return (stationNumber + ";" + accessCode + ";" + verifyCode).toUpperCase();
|
---|
| 41 | }
|
---|
| 42 |
|
---|
| 43 | public int getUserCount() {
|
---|
| 44 | return this.userMap.size();
|
---|
| 45 | }
|
---|
| 46 |
|
---|
| 47 | public void setUsers(Map/*<String, VistaUserDetails>*/ users) {
|
---|
| 48 | this.userMap = users;
|
---|
| 49 | }
|
---|
| 50 | }
|
---|