source: EDIS/trunk/java/tracking-server-vista/src/main/java/gov/va/med/edp/springframework/security/userdetails/memory/VistaUserMap.java@ 1227

Last change on this file since 1227 was 1227, checked in by George Lilly, 13 years ago

initial load of EDIS 1.0

File size: 1.8 KB
Line 
1package gov.va.med.edp.springframework.security.userdetails.memory;
2
3import gov.va.med.edp.springframework.security.userdetails.VistaUserDetails;
4import org.springframework.security.userdetails.UsernameNotFoundException;
5import org.slf4j.Logger;
6import org.slf4j.LoggerFactory;
7import org.springframework.util.Assert;
8
9import java.util.HashMap;
10import java.util.Map;
11
12public 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}
Note: See TracBrowser for help on using the repository browser.