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