mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-15 14:56:41 +00:00
implemented e-mail and password change as lambda operations on SecurityServiceImpl
This commit is contained in:
1 parent
d842579e48
commit
a306239c3b
3 files changed
+43
-6
No files matched your search
+28
-1
@@ -16,9 +16,10 @@ public class SimpleSecurityReplicationTest extends AbstractSecurityReplicationTe
|
||||
/**
|
||||
* It's too bad that we can't use this inside a GWT bundle which is currently constrained to Java7... If it was only possible
|
||||
* to extract the *.server package such that it could be compiled with Java8.
|
||||
* @throws IllegalAccessException
|
||||
*/
|
||||
@Test
|
||||
public void testSimpleReplicationOfUserCreation() throws InterruptedException, UserManagementException, MailException {
|
||||
public void testSimpleReplicationOfUserCreation() throws InterruptedException, UserManagementException, MailException, IllegalAccessException {
|
||||
final String username = "Ernie";
|
||||
final String email = "ernie@sesame-street.com";
|
||||
final String password = "BertMyFriend";
|
||||
@@ -29,6 +30,7 @@ public class SimpleSecurityReplicationTest extends AbstractSecurityReplicationTe
|
||||
assertSame(user, master.getUserByName(username));
|
||||
assertTrue(master.checkPassword(username, password));
|
||||
|
||||
replicaReplicator.waitUntilQueueIsEmpty();
|
||||
Thread.sleep(3000);
|
||||
|
||||
User replicatedErnie = replica.getUserByName(username);
|
||||
@@ -37,4 +39,29 @@ public class SimpleSecurityReplicationTest extends AbstractSecurityReplicationTe
|
||||
assertEquals(email, replicatedErnie.getEmail());
|
||||
assertTrue(replica.checkPassword(username, password));
|
||||
}
|
||||
|
||||
/**
|
||||
* It's too bad that we can't use this inside a GWT bundle which is currently constrained to Java7... If it was only possible
|
||||
* to extract the *.server package such that it could be compiled with Java8.
|
||||
* @throws IllegalAccessException
|
||||
*/
|
||||
@Test
|
||||
public void testSimpleReplicationOfUserEmailChange() throws InterruptedException, UserManagementException, MailException, IllegalAccessException {
|
||||
final String username = "Ernie";
|
||||
final String email = "ernie@sesame-street.com";
|
||||
final String newEmail = "ernie2@sesame-street.com";
|
||||
final String password = "BertMyFriend";
|
||||
final String validationBaseURL = "http://me.to.back.com";
|
||||
User user = master.createSimpleUser(username, email, password, validationBaseURL);
|
||||
master.updateSimpleUserEmail(username, newEmail, validationBaseURL);
|
||||
assertEquals(newEmail, user.getEmail());
|
||||
|
||||
replicaReplicator.waitUntilQueueIsEmpty();
|
||||
Thread.sleep(3000);
|
||||
|
||||
User replicatedErnie = replica.getUserByName(username);
|
||||
assertNotNull(replicatedErnie);
|
||||
assertEquals(username, replicatedErnie.getName());
|
||||
assertEquals(newEmail, replicatedErnie.getEmail());
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -18,6 +18,9 @@ public interface ReplicableSecurityService extends SecurityService {
|
||||
User internalCreateSimpleUser(String username, String email, String password, String validationBaseURL)
|
||||
throws UserManagementException;
|
||||
|
||||
void internalUpdateSimpleUserPassword(String username, String newPassword) throws UserManagementException;
|
||||
Void internalUpdateSimpleUserPassword(String username, String newPassword) throws UserManagementException;
|
||||
|
||||
Void internalUpdateSimpleUserEmail(String username, String newEmail, String validationBaseURL)
|
||||
throws UserManagementException;
|
||||
|
||||
}
|
||||
@@ -83,7 +83,6 @@ import com.sap.sse.security.Social;
|
||||
import com.sap.sse.security.SocialSettingsKeys;
|
||||
import com.sap.sse.security.User;
|
||||
import com.sap.sse.security.UserStore;
|
||||
import com.sap.sse.security.operations.SecurityOperation;
|
||||
import com.sap.sse.security.shared.Account.AccountType;
|
||||
import com.sap.sse.security.shared.DefaultRoles;
|
||||
import com.sap.sse.security.shared.MailException;
|
||||
@@ -275,7 +274,7 @@ public class SecurityServiceImpl extends RemoteServiceServlet implements Replica
|
||||
@Override
|
||||
public User createSimpleUser(final String username, final String email, String password,
|
||||
final String validationBaseURL) throws UserManagementException, MailException {
|
||||
return apply((SecurityOperation<User>) thiz -> thiz.internalCreateSimpleUser(username, email, password, validationBaseURL));
|
||||
return apply(thiz -> thiz.internalCreateSimpleUser(username, email, password, validationBaseURL));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -313,16 +312,17 @@ public class SecurityServiceImpl extends RemoteServiceServlet implements Replica
|
||||
|
||||
@Override
|
||||
public void updateSimpleUserPassword(String username, String newPassword) throws UserManagementException {
|
||||
internalUpdateSimpleUserPassword(username, newPassword);
|
||||
apply(s->s.internalUpdateSimpleUserPassword(username, newPassword));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void internalUpdateSimpleUserPassword(String username, String newPassword) throws UserManagementException {
|
||||
public Void internalUpdateSimpleUserPassword(String username, String newPassword) throws UserManagementException {
|
||||
final User user = store.getUserByName(username);
|
||||
if (user == null) {
|
||||
throw new UserManagementException(UserManagementException.USER_DOES_NOT_EXIST);
|
||||
}
|
||||
updateSimpleUserPassword(user, newPassword);
|
||||
return null;
|
||||
}
|
||||
|
||||
private void updateSimpleUserPassword(final User user, String newPassword) throws UserManagementException {
|
||||
@@ -362,6 +362,12 @@ public class SecurityServiceImpl extends RemoteServiceServlet implements Replica
|
||||
|
||||
@Override
|
||||
public void updateSimpleUserEmail(final String username, final String newEmail, final String validationBaseURL) throws UserManagementException {
|
||||
apply(s->s.internalUpdateSimpleUserEmail(username, newEmail, validationBaseURL));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Void internalUpdateSimpleUserEmail(final String username, final String newEmail,
|
||||
final String validationBaseURL) throws UserManagementException {
|
||||
final User user = store.getUserByName(username);
|
||||
if (user == null) {
|
||||
throw new UserManagementException(UserManagementException.USER_DOES_NOT_EXIST);
|
||||
@@ -380,6 +386,7 @@ public class SecurityServiceImpl extends RemoteServiceServlet implements Replica
|
||||
}
|
||||
}.start();
|
||||
store.updateUser(user);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user