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ä
						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