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

  1. package de.fd.fh.server.user;
  2. import de.fd.fh.server.access.events.AccountCreatedEvent;
  3. import de.fd.fh.server.access.events.AccountDeletedEvent;
  4. import lombok.RequiredArgsConstructor;
  5. import java.util.Observable;
  6. import java.util.Observer;
  7. @RequiredArgsConstructor
  8. public class UserContextEventListener implements Observer
  9. {
  10. private final UserRepository userRepository;
  11. @Override
  12. public void update(
  13. final Observable observable,
  14. final Object event)
  15. {
  16. System.out.println("UserContextEventListener " + event);
  17. if (event instanceof AccountCreatedEvent) {
  18. handleAccountCreatedEvent((AccountCreatedEvent) event);
  19. }
  20. if (event instanceof AccountDeletedEvent) {
  21. handleAccountDeletedEvent((AccountDeletedEvent) event);
  22. }
  23. }
  24. private void handleAccountDeletedEvent(final AccountDeletedEvent event)
  25. {
  26. userRepository.deleteUserById(event.getUserId());
  27. }
  28. private void handleAccountCreatedEvent(final AccountCreatedEvent event)
  29. {
  30. System.out.println("handleAccountCreatedEvent " + event);
  31. final User user = new User(event.getUserId(), event.getName());
  32. System.out.println("User: " + user);
  33. userRepository.save(user);
  34. System.out.println("UserId: " + user.getId());
  35. }
  36. }