diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/UWUserDetailsImpl.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/UWUserDetailsImpl.java index 1a938385b23e82aeeb743e41f93bb5ac53c00aca..d51dd722f517d04108e37c88f267b4885f0429bc 100644 --- a/uw-spring-security-core/src/main/java/edu/wisc/uwss/UWUserDetailsImpl.java +++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/UWUserDetailsImpl.java @@ -168,7 +168,6 @@ public class UWUserDetailsImpl extends User implements UWUserDetails, HasModifia public void setIsisEmplid(String isisEmplid) { this.isisEmplid = isisEmplid; } - /** * {@inheritDoc} * @@ -221,8 +220,9 @@ public class UWUserDetailsImpl extends User implements UWUserDetails, HasModifia /** * @param firstName the firstName to set */ - public void setFirstName(String firstName) { + public UWUserDetailsImpl setFirstName(String firstName) { this.firstName = firstName; + return this; } /** * @return the lastName @@ -233,8 +233,9 @@ public class UWUserDetailsImpl extends User implements UWUserDetails, HasModifia /** * @param lastName the lastName to set */ - public void setLastName(String lastName) { + public UWUserDetailsImpl setLastName(String lastName) { this.lastName = lastName; + return this; } } diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsAttributesMapper.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsAttributesMapper.java index 76b8e22c24f322f66985757eb3a136fe85961e4c..db33acb8ca0dec3febf7d977069fd6220928c49c 100644 --- a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsAttributesMapper.java +++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsAttributesMapper.java @@ -40,22 +40,28 @@ public interface LocalUserDetailsAttributesMapper { * * The format of the properties is as follows (key=value): * <pre> - * username=password,fullName,emailAddress[,membership1,[membership2...]] + * username=password,fullName,firstName,lastName,emailAddress[,membership1,[membership2...]] * </pre> * * Membership can be 1 or more UDDS values, comma separated. */ @Override public UWUserDetails mapUser(String username, String[] values) { - if(values.length > 4) { - String[] uddsValues = Arrays.copyOfRange(values, 4, values.length); + if(values.length > 6) { + String[] uddsValues = Arrays.copyOfRange(values, 6, values.length); List<String> membership = new ArrayList<>(); for(String v : uddsValues) { membership.add(v); } - return new UWUserDetailsImpl(values[1], username, values[0], values[2], values[3], membership); + // pvi, username, password, email, + return new UWUserDetailsImpl(values[1], username, values[0], values[2], values[5], membership) + .setFirstName(values[3]) + .setLastName(values[4]); } else { - return new UWUserDetailsImpl(values[1], username, values[0], values[2], values[3]); + // String pvi, String username, String password, String fullName, String emailAddress + return new UWUserDetailsImpl(values[1], username, values[0], values[2], values[5]) + .setFirstName(values[3]) + .setLastName(values[4]); } } diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUsersUdsPersonServiceImpl.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUsersUdsPersonServiceImpl.java index beca7f305f13b6f4e731e09141792873afebc141..5731b0fdb408dba55674511eaad146421b08261f 100644 --- a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUsersUdsPersonServiceImpl.java +++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUsersUdsPersonServiceImpl.java @@ -50,6 +50,8 @@ public class LocalUsersUdsPersonServiceImpl implements UdsPersonService { Demographic demographic = new Demographic(); demographic.setEmail(userDetails.getEmailAddress()); Name name = new Name(); + name.setFirst(userDetails.getFirstName()); + name.setLast(userDetails.getLastName()); name.setFull(userDetails.getFullName()); demographic.setName(name); diff --git a/uw-spring-security-core/src/main/resources/edu/wisc/uwss/local/local-users.properties b/uw-spring-security-core/src/main/resources/edu/wisc/uwss/local/local-users.properties index 1cfe4e5ed7580f3f68ec2f7b9ff10eea1bbad841..8df9dbe5f6514be10e820fcf4da4ab85b10a9e21 100644 --- a/uw-spring-security-core/src/main/resources/edu/wisc/uwss/local/local-users.properties +++ b/uw-spring-security-core/src/main/resources/edu/wisc/uwss/local/local-users.properties @@ -1,4 +1,4 @@ -admin=admin,UW000A000,Amy Administrator,amy.administrator@demo.wisc.edu,A535900 -jane=jane,UW000A001,Jane Doe,jane.doe@demo.wisc.edu,A535005 -john=john,UW000A002,John Doe,john.doe@demo.wisc.edu,A535005 -jim=jim,UW000A003,Jim Doe,jim.doe@demo.wisc.edu \ No newline at end of file +admin=admin,UW000A000,Amy Administrator,Amy,Administrator,amy.administrator@demo.wisc.edu,A535900 +jane=jane,UW000A001,Jane Doe,Jane,Doe,jane.doe@demo.wisc.edu,A535005 +john=john,UW000A002,John Doe,John,Doe,john.doe@demo.wisc.edu,A535005 +jim=jim,UW000A003,Jim Doe,Jim,Doe,jim.doe@demo.wisc.edu \ No newline at end of file diff --git a/uw-spring-security-core/src/test/java/edu/wisc/uwss/local/LocalUserDetailsManagerImplTest.java b/uw-spring-security-core/src/test/java/edu/wisc/uwss/local/LocalUserDetailsManagerImplTest.java index 904872ea1d795f1680a6920af30f21d2726b9ed1..b07c9e6d07efa3b0d31f85b7dee2e8da3e3bbfb5 100644 --- a/uw-spring-security-core/src/test/java/edu/wisc/uwss/local/LocalUserDetailsManagerImplTest.java +++ b/uw-spring-security-core/src/test/java/edu/wisc/uwss/local/LocalUserDetailsManagerImplTest.java @@ -94,7 +94,7 @@ public class LocalUserDetailsManagerImplTest { @Test public void init_demoUsers_with_no_udds_and_no_control() { Properties properties = new Properties(); - properties.put("test", "test,UW000A000,Nothing,foo@foo.wisc.edu"); + properties.put("test", "test,UW000A000,Nothing,Nothing,,foo@foo.wisc.edu"); LocalUserDetailsManagerImpl service = new LocalUserDetailsManagerImpl(); service.setDemoUsers(properties); @@ -113,7 +113,7 @@ public class LocalUserDetailsManagerImplTest { @Test public void init_demoUsers_with_single_udds() { Properties properties = new Properties(); - properties.put("test", "test,UW000A000,Single UDDS,foo@foo.wisc.edu,A061234"); + properties.put("test", "test,UW000A000,Single UDDS,Single,UDDS,foo@foo.wisc.edu,A061234"); LocalUserDetailsManagerImpl service = new LocalUserDetailsManagerImpl(); service.setDemoUsers(properties); @@ -132,7 +132,7 @@ public class LocalUserDetailsManagerImplTest { @Test public void setDemoUsers_with_multiple_udds() { Properties properties = new Properties(); - properties.put("test", "test,UW000A000,Multiple UDDS,foo@foo.wisc.edu,A061234,A061235,A061236"); + properties.put("test", "test,UW000A000,Multiple UDDS,Multiple,UDDS,foo@foo.wisc.edu,A061234,A061235,A061236"); LocalUserDetailsManagerImpl service = new LocalUserDetailsManagerImpl(); service.setDemoUsers(properties);