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.

43 lines
1.3 KiB

package de.fd.fh.server.user;
import de.fd.fh.server.access.events.AccountCreatedEvent;
import de.fd.fh.server.access.events.AccountDeletedEvent;
import lombok.RequiredArgsConstructor;
import java.util.Observable;
import java.util.Observer;
@RequiredArgsConstructor
public class UserContextEventListener implements Observer
{
private final UserRepository userRepository;
@Override
public void update(
final Observable observable,
final Object event)
{
System.out.println("UserContextEventListener " + event);
if (event instanceof AccountCreatedEvent) {
handleAccountCreatedEvent((AccountCreatedEvent) event);
}
if (event instanceof AccountDeletedEvent) {
handleAccountDeletedEvent((AccountDeletedEvent) event);
}
}
private void handleAccountDeletedEvent(final AccountDeletedEvent event)
{
userRepository.deleteUserById(event.getUserId());
}
private void handleAccountCreatedEvent(final AccountCreatedEvent event)
{
System.out.println("handleAccountCreatedEvent " + event);
final User user = new User(event.getUserId(), event.getName());
System.out.println("User: " + user);
userRepository.save(user);
System.out.println("UserId: " + user.getId());
}
}