Java 11 migrate remaining e (#1112)
* Moves eip-aggregator to Java 11 * Moves eip-message-channel to Java 11 * Moves eip-publish-subscribe to Java 11 * Moves eip-splitter to Java 11 * Moves eip-wire-tap to Java 11 * Moves event-aggregator to Java 11 * Moves event-asynchronous to Java 11 * Moves event-driven-architecture to Java 11 * Moves event-queue to Java 11 * Moves event-sourcing to Java 11 * Moves execute-around to Java 11 * Moves extension-objects to Java 11
This commit is contained in:
committed by
Ilkka Seppälä
parent
b09b100614
commit
fb2c026822
@ -23,8 +23,9 @@
|
||||
|
||||
package com.iluwatar.event.aggregator;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* A system with lots of objects can lead to complexities when a client wants to subscribe to
|
||||
@ -47,19 +48,18 @@ public class App {
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
|
||||
KingJoffrey kingJoffrey = new KingJoffrey();
|
||||
KingsHand kingsHand = new KingsHand(kingJoffrey);
|
||||
var kingJoffrey = new KingJoffrey();
|
||||
var kingsHand = new KingsHand(kingJoffrey);
|
||||
|
||||
List<EventEmitter> emitters = new ArrayList<>();
|
||||
emitters.add(kingsHand);
|
||||
emitters.add(new LordBaelish(kingsHand));
|
||||
emitters.add(new LordVarys(kingsHand));
|
||||
emitters.add(new Scout(kingsHand));
|
||||
var emitters = List.of(
|
||||
kingsHand,
|
||||
new LordBaelish(kingsHand),
|
||||
new LordVarys(kingsHand),
|
||||
new Scout(kingsHand)
|
||||
);
|
||||
|
||||
for (Weekday day : Weekday.values()) {
|
||||
for (EventEmitter emitter : emitters) {
|
||||
emitter.timePasses(day);
|
||||
}
|
||||
}
|
||||
Arrays.stream(Weekday.values())
|
||||
.<Consumer<? super EventEmitter>>map(day -> emitter -> emitter.timePasses(day))
|
||||
.forEachOrdered(emitters::forEach);
|
||||
}
|
||||
}
|
||||
|
@ -47,9 +47,7 @@ public abstract class EventEmitter {
|
||||
}
|
||||
|
||||
protected void notifyObservers(Event e) {
|
||||
for (EventObserver obs : observers) {
|
||||
obs.onEvent(e);
|
||||
}
|
||||
observers.forEach(obs -> obs.onEvent(e));
|
||||
}
|
||||
|
||||
public abstract void timePasses(Weekday day);
|
||||
|
@ -37,7 +37,7 @@ public class LordBaelish extends EventEmitter {
|
||||
|
||||
@Override
|
||||
public void timePasses(Weekday day) {
|
||||
if (day.equals(Weekday.FRIDAY)) {
|
||||
if (day == Weekday.FRIDAY) {
|
||||
notifyObservers(Event.STARK_SIGHTED);
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ public class LordVarys extends EventEmitter {
|
||||
|
||||
@Override
|
||||
public void timePasses(Weekday day) {
|
||||
if (day.equals(Weekday.SATURDAY)) {
|
||||
if (day == Weekday.SATURDAY) {
|
||||
notifyObservers(Event.TRAITOR_DETECTED);
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ public class Scout extends EventEmitter {
|
||||
|
||||
@Override
|
||||
public void timePasses(Weekday day) {
|
||||
if (day.equals(Weekday.TUESDAY)) {
|
||||
if (day == Weekday.TUESDAY) {
|
||||
notifyObservers(Event.WARSHIPS_APPROACHING);
|
||||
}
|
||||
}
|
||||
|
@ -28,8 +28,13 @@ package com.iluwatar.event.aggregator;
|
||||
*/
|
||||
public enum Weekday {
|
||||
|
||||
MONDAY("Monday"), TUESDAY("Tuesday"), WEDNESDAY("Wednesday"), THURSDAY("Thursday"), FRIDAY(
|
||||
"Friday"), SATURDAY("Saturday"), SUNDAY("Sunday");
|
||||
MONDAY("Monday"),
|
||||
TUESDAY("Tuesday"),
|
||||
WEDNESDAY("Wednesday"),
|
||||
THURSDAY("Thursday"),
|
||||
FRIDAY("Friday"),
|
||||
SATURDAY("Saturday"),
|
||||
SUNDAY("Sunday");
|
||||
|
||||
private String description;
|
||||
|
||||
|
@ -26,15 +26,12 @@ package com.iluwatar.event.aggregator;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
*
|
||||
* Application test
|
||||
*
|
||||
*/
|
||||
public class AppTest {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
String[] args = {};
|
||||
App.main(args);
|
||||
App.main(new String[]{});
|
||||
}
|
||||
}
|
||||
|
@ -23,8 +23,6 @@
|
||||
|
||||
package com.iluwatar.event.aggregator;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
@ -35,10 +33,11 @@ import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 10:58 PM
|
||||
* Tests for Event Emitter
|
||||
* Date: 12/12/15 - 10:58 PM Tests for Event Emitter
|
||||
*
|
||||
* @param <E> Type of Event Emitter
|
||||
* @author Jeroen Meulemeester
|
||||
*/
|
||||
@ -99,13 +98,13 @@ public abstract class EventEmitterTest<E extends EventEmitter> {
|
||||
private void testAllDays(final Weekday specialDay, final Event event, final E emitter,
|
||||
final EventObserver... observers) {
|
||||
|
||||
for (final Weekday weekday : Weekday.values()) {
|
||||
for (final var weekday : Weekday.values()) {
|
||||
// Pass each week of the day, day by day to the event emitter
|
||||
emitter.timePasses(weekday);
|
||||
|
||||
if (weekday == specialDay) {
|
||||
// On a special day, every observer should have received the event
|
||||
for (final EventObserver observer : observers) {
|
||||
for (final var observer : observers) {
|
||||
verify(observer, times(1)).onEvent(eq(event));
|
||||
}
|
||||
} else {
|
||||
@ -126,10 +125,10 @@ public abstract class EventEmitterTest<E extends EventEmitter> {
|
||||
* @param event The expected event emitted by the test object
|
||||
*/
|
||||
private void testAllDaysWithoutDefaultObserver(final Weekday specialDay, final Event event) {
|
||||
final EventObserver observer1 = mock(EventObserver.class);
|
||||
final EventObserver observer2 = mock(EventObserver.class);
|
||||
final var observer1 = mock(EventObserver.class);
|
||||
final var observer2 = mock(EventObserver.class);
|
||||
|
||||
final E emitter = this.factoryWithoutDefaultObserver.get();
|
||||
final var emitter = this.factoryWithoutDefaultObserver.get();
|
||||
emitter.registerObserver(observer1);
|
||||
emitter.registerObserver(observer2);
|
||||
|
||||
@ -143,11 +142,11 @@ public abstract class EventEmitterTest<E extends EventEmitter> {
|
||||
* @param event The expected event emitted by the test object
|
||||
*/
|
||||
private void testAllDaysWithDefaultObserver(final Weekday specialDay, final Event event) {
|
||||
final EventObserver defaultObserver = mock(EventObserver.class);
|
||||
final EventObserver observer1 = mock(EventObserver.class);
|
||||
final EventObserver observer2 = mock(EventObserver.class);
|
||||
final var defaultObserver = mock(EventObserver.class);
|
||||
final var observer1 = mock(EventObserver.class);
|
||||
final var observer2 = mock(EventObserver.class);
|
||||
|
||||
final E emitter = this.factoryWithDefaultObserver.apply(defaultObserver);
|
||||
final var emitter = this.factoryWithDefaultObserver.apply(defaultObserver);
|
||||
emitter.registerObserver(observer1);
|
||||
emitter.registerObserver(observer2);
|
||||
|
||||
|
@ -23,11 +23,12 @@
|
||||
|
||||
package com.iluwatar.event.aggregator;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 2:52 PM
|
||||
*
|
||||
@ -40,11 +41,10 @@ public class EventTest {
|
||||
*/
|
||||
@Test
|
||||
public void testToString() {
|
||||
for (final Event event : Event.values()) {
|
||||
final String toString = event.toString();
|
||||
Arrays.stream(Event.values()).map(Event::toString).forEach(toString -> {
|
||||
assertNotNull(toString);
|
||||
assertFalse(toString.trim().isEmpty());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -23,19 +23,19 @@
|
||||
|
||||
package com.iluwatar.event.aggregator;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import ch.qos.logback.classic.Logger;
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.core.AppenderBase;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.stream.IntStream;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 3:04 PM
|
||||
*
|
||||
@ -60,17 +60,16 @@ public class KingJoffreyTest {
|
||||
*/
|
||||
@Test
|
||||
public void testOnEvent() {
|
||||
final KingJoffrey kingJoffrey = new KingJoffrey();
|
||||
final var kingJoffrey = new KingJoffrey();
|
||||
|
||||
for (int i = 0; i < Event.values().length; ++i) {
|
||||
IntStream.range(0, Event.values().length).forEach(i -> {
|
||||
assertEquals(i, appender.getLogSize());
|
||||
Event event = Event.values()[i];
|
||||
var event = Event.values()[i];
|
||||
kingJoffrey.onEvent(event);
|
||||
|
||||
final String expectedMessage = "Received event from the King's Hand: " + event.toString();
|
||||
final var expectedMessage = "Received event from the King's Hand: " + event.toString();
|
||||
assertEquals(expectedMessage, appender.getLastMessage());
|
||||
assertEquals(i + 1, appender.getLogSize());
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
@ -23,14 +23,15 @@
|
||||
|
||||
package com.iluwatar.event.aggregator;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
import java.util.Arrays;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 10:57 AM
|
||||
@ -47,24 +48,24 @@ public class KingsHandTest extends EventEmitterTest<KingsHand> {
|
||||
}
|
||||
|
||||
/**
|
||||
* The {@link KingsHand} is both an {@link EventEmitter} as an {@link EventObserver} so verify if every
|
||||
* event received is passed up to it's superior, in most cases {@link KingJoffrey} but now just a
|
||||
* mocked observer.
|
||||
* The {@link KingsHand} is both an {@link EventEmitter} as an {@link EventObserver} so verify if
|
||||
* every event received is passed up to it's superior, in most cases {@link KingJoffrey} but now
|
||||
* just a mocked observer.
|
||||
*/
|
||||
@Test
|
||||
public void testPassThrough() throws Exception {
|
||||
final EventObserver observer = mock(EventObserver.class);
|
||||
final KingsHand kingsHand = new KingsHand(observer);
|
||||
final var observer = mock(EventObserver.class);
|
||||
final var kingsHand = new KingsHand(observer);
|
||||
|
||||
// The kings hand should not pass any events before he received one
|
||||
verifyZeroInteractions(observer);
|
||||
|
||||
// Verify if each event is passed on to the observer, nothing less, nothing more.
|
||||
for (final Event event : Event.values()) {
|
||||
Arrays.stream(Event.values()).forEach(event -> {
|
||||
kingsHand.onEvent(event);
|
||||
verify(observer, times(1)).onEvent(eq(event));
|
||||
verifyNoMoreInteractions(observer);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
@ -23,11 +23,12 @@
|
||||
|
||||
package com.iluwatar.event.aggregator;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 2:12 PM
|
||||
*
|
||||
@ -37,11 +38,11 @@ public class WeekdayTest {
|
||||
|
||||
@Test
|
||||
public void testToString() {
|
||||
for (final Weekday weekday : Weekday.values()) {
|
||||
Arrays.stream(Weekday.values()).forEach(weekday -> {
|
||||
final String toString = weekday.toString();
|
||||
assertNotNull(toString);
|
||||
assertEquals(weekday.name(), toString.toUpperCase());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user