You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB

package de.fd.fh.server.access;
import de.fd.fh.server.user.events.ChangePasswordEvent;
import de.fd.fh.server.user.events.ChangeUserNameEvent;
import lombok.RequiredArgsConstructor;
import java.util.Observable;
import java.util.Observer;
@RequiredArgsConstructor
public class AccessContextEventListener implements Observer
{
private final AccessRepository accessRepository;
@Override
public void update(Observable observable, Object event)
{
if (event instanceof ChangePasswordEvent)
{
handlePasswordChange((ChangePasswordEvent) event);
}
else if (event instanceof ChangeUserNameEvent)
{
handleRename((ChangeUserNameEvent) event);
}
}
public void handleRename(ChangeUserNameEvent event)
{
final Access access = accessRepository.findByUserId(event.getUserId());
access.rename(event.getNewName());
accessRepository.save(access);
}
public void handlePasswordChange(ChangePasswordEvent event)
{
final Access access = accessRepository.findByUserId(event.getUserId());
access.updatePassword(event.getNewPassword());
accessRepository.save(access);
}
}