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()); } }