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:
Anurag Agarwal
2019-12-09 22:33:30 +05:30
committed by Ilkka Seppälä
parent b09b100614
commit fb2c026822
64 changed files with 306 additions and 390 deletions

View File

@ -24,7 +24,6 @@
package com.iluwatar.event.asynchronous;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.Scanner;
import org.slf4j.Logger;
@ -70,8 +69,7 @@ public class App {
* @param args command line args
*/
public static void main(String[] args) {
App app = new App();
var app = new App();
app.setUp();
app.run();
}
@ -82,9 +80,9 @@ public class App {
* operations.
*/
public void setUp() {
Properties prop = new Properties();
var prop = new Properties();
InputStream inputStream = App.class.getClassLoader().getResourceAsStream(PROP_FILE_NAME);
var inputStream = App.class.getClassLoader().getResourceAsStream(PROP_FILE_NAME);
if (inputStream != null) {
try {
@ -92,7 +90,7 @@ public class App {
} catch (IOException e) {
LOGGER.error("{} was not found. Defaulting to non-interactive mode.", PROP_FILE_NAME, e);
}
String property = prop.getProperty("INTERACTIVE_MODE");
var property = prop.getProperty("INTERACTIVE_MODE");
if (property.equalsIgnoreCase("YES")) {
interactiveMode = true;
}
@ -114,17 +112,17 @@ public class App {
* Run program in non-interactive mode.
*/
public void quickRun() {
EventManager eventManager = new EventManager();
var eventManager = new EventManager();
try {
// Create an Asynchronous event.
int asyncEventId = eventManager.createAsync(60);
var asyncEventId = eventManager.createAsync(60);
LOGGER.info("Async Event [{}] has been created.", asyncEventId);
eventManager.start(asyncEventId);
LOGGER.info("Async Event [{}] has been started.", asyncEventId);
// Create a Synchronous event.
int syncEventId = eventManager.create(60);
var syncEventId = eventManager.create(60);
LOGGER.info("Sync Event [{}] has been created.", syncEventId);
eventManager.start(syncEventId);
LOGGER.info("Sync Event [{}] has been started.", syncEventId);
@ -147,10 +145,10 @@ public class App {
* Run program in interactive mode.
*/
public void runInteractiveMode() {
EventManager eventManager = new EventManager();
var eventManager = new EventManager();
Scanner s = new Scanner(System.in);
int option = -1;
var s = new Scanner(System.in);
var option = -1;
while (option != 4) {
LOGGER.info("Hello. Would you like to boil some eggs?");
LOGGER.info("(1) BOIL AN EGG \n(2) STOP BOILING THIS EGG \n(3) HOW ARE MY EGGS? \n(4) EXIT");
@ -174,7 +172,7 @@ public class App {
private void processOption3(EventManager eventManager, Scanner s) {
s.nextLine();
LOGGER.info("Just one egg (O) OR all of them (A) ?: ");
String eggChoice = s.nextLine();
var eggChoice = s.nextLine();
if (eggChoice.equalsIgnoreCase("O")) {
LOGGER.info("Which egg?: ");
@ -191,7 +189,7 @@ public class App {
private void processOption2(EventManager eventManager, Scanner s) {
LOGGER.info("Which egg?: ");
int eventId = s.nextInt();
var eventId = s.nextInt();
try {
eventManager.cancel(eventId);
LOGGER.info("Egg [{}] is removed from boiler.", eventId);
@ -203,12 +201,12 @@ public class App {
private void processOption1(EventManager eventManager, Scanner s) {
s.nextLine();
LOGGER.info("Boil multiple eggs at once (A) or boil them one-by-one (S)?: ");
String eventType = s.nextLine();
var eventType = s.nextLine();
LOGGER.info("How long should this egg be boiled for (in seconds)?: ");
int eventTime = s.nextInt();
var eventTime = s.nextInt();
if (eventType.equalsIgnoreCase("A")) {
try {
int eventId = eventManager.createAsync(eventTime);
var eventId = eventManager.createAsync(eventTime);
eventManager.start(eventId);
LOGGER.info("Egg [{}] is being boiled.", eventId);
} catch (MaxNumOfEventsAllowedException | LongRunningEventException
@ -217,7 +215,7 @@ public class App {
}
} else if (eventType.equalsIgnoreCase("S")) {
try {
int eventId = eventManager.create(eventTime);
var eventId = eventManager.create(eventTime);
eventManager.start(eventId);
LOGGER.info("Egg [{}] is being boiled.", eventId);
} catch (MaxNumOfEventsAllowedException | InvalidOperationException

View File

@ -82,8 +82,8 @@ public class Event implements IEvent, Runnable {
@Override
public void run() {
long currentTime = System.currentTimeMillis();
long endTime = currentTime + (eventTime * 1000);
var currentTime = System.currentTimeMillis();
var endTime = currentTime + (eventTime * 1000);
while (System.currentTimeMillis() < endTime) {
try {
Thread.sleep(1000); // Sleep for 1 second.

View File

@ -23,7 +23,6 @@
package com.iluwatar.event.asynchronous;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
@ -75,7 +74,7 @@ public class EventManager implements ThreadCompleteListener {
+ " running. Please wait until it finishes and try again.");
}
int eventId = createEvent(eventTime, true);
var eventId = createEvent(eventTime, true);
currentlyRunningSyncEvent = eventId;
return eventId;
@ -106,9 +105,9 @@ public class EventManager implements ThreadCompleteListener {
"Maximum event time allowed is " + MAX_EVENT_TIME + " seconds. Please try again.");
}
int newEventId = generateId();
var newEventId = generateId();
Event newEvent = new Event(newEventId, eventTime, isSynchronous);
var newEvent = new Event(newEventId, eventTime, isSynchronous);
newEvent.addListener(this);
eventPool.put(newEventId, newEvent);
@ -167,11 +166,7 @@ public class EventManager implements ThreadCompleteListener {
*/
@SuppressWarnings("rawtypes")
public void statusOfAllEvents() {
Iterator it = eventPool.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry) it.next();
((Event) pair.getValue()).status();
}
eventPool.entrySet().forEach(entry -> ((Event) ((Map.Entry) entry).getValue()).status());
}
/**
@ -179,11 +174,7 @@ public class EventManager implements ThreadCompleteListener {
*/
@SuppressWarnings("rawtypes")
public void shutdown() {
Iterator it = eventPool.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry) it.next();
((Event) pair.getValue()).stop();
}
eventPool.entrySet().forEach(entry -> ((Event) ((Map.Entry) entry).getValue()).stop());
}
/**
@ -194,7 +185,7 @@ public class EventManager implements ThreadCompleteListener {
private int generateId() {
// nextInt is normally exclusive of the top value,
// so add 1 to make it inclusive
int randomNum = rand.nextInt((MAX_ID - MIN_ID) + 1) + MIN_ID;
var randomNum = rand.nextInt((MAX_ID - MIN_ID) + 1) + MIN_ID;
while (eventPool.containsKey(randomNum)) {
randomNum = rand.nextInt((MAX_ID - MIN_ID) + 1) + MIN_ID;
}

View File

@ -25,15 +25,12 @@ package com.iluwatar.event.asynchronous;
import org.junit.jupiter.api.Test;
import java.io.IOException;
/**
* Tests that EventAsynchronous example runs without errors.
*/
public class AppTest {
@Test
public void test() throws IOException {
String[] args = {};
App.main(args);
public void test() {
App.main(new String[]{});
}
}

View File

@ -23,28 +23,26 @@
package com.iluwatar.event.asynchronous;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* Application test
*
*/
public class EventAsynchronousTest {
private static final Logger LOGGER = LoggerFactory.getLogger(EventAsynchronousTest.class);
@Test
public void testAsynchronousEvent() {
EventManager eventManager = new EventManager();
var eventManager = new EventManager();
try {
int aEventId = eventManager.createAsync(60);
var aEventId = eventManager.createAsync(60);
eventManager.start(aEventId);
assertEquals(1, eventManager.getEventPool().size());
assertTrue(eventManager.getEventPool().size() < EventManager.MAX_RUNNING_EVENTS);
@ -58,9 +56,9 @@ public class EventAsynchronousTest {
@Test
public void testSynchronousEvent() {
EventManager eventManager = new EventManager();
var eventManager = new EventManager();
try {
int sEventId = eventManager.create(60);
var sEventId = eventManager.create(60);
eventManager.start(sEventId);
assertEquals(1, eventManager.getEventPool().size());
assertTrue(eventManager.getEventPool().size() < EventManager.MAX_RUNNING_EVENTS);
@ -76,9 +74,9 @@ public class EventAsynchronousTest {
@Test
public void testUnsuccessfulSynchronousEvent() {
assertThrows(InvalidOperationException.class, () -> {
EventManager eventManager = new EventManager();
var eventManager = new EventManager();
try {
int sEventId = eventManager.create(60);
var sEventId = eventManager.create(60);
eventManager.start(sEventId);
sEventId = eventManager.create(60);
eventManager.start(sEventId);
@ -90,20 +88,18 @@ public class EventAsynchronousTest {
@Test
public void testFullSynchronousEvent() {
EventManager eventManager = new EventManager();
var eventManager = new EventManager();
try {
int eventTime = 1;
var eventTime = 1;
int sEventId = eventManager.create(eventTime);
var sEventId = eventManager.create(eventTime);
assertEquals(1, eventManager.getEventPool().size());
eventManager.start(sEventId);
long currentTime = System.currentTimeMillis();
long endTime = currentTime + (eventTime + 2 * 1000); // +2 to give a bit of buffer time for event to
// complete
// properly.
while (System.currentTimeMillis() < endTime) {
}
var currentTime = System.currentTimeMillis();
// +2 to give a bit of buffer time for event to complete properly.
var endTime = currentTime + (eventTime + 2 * 1000);
while (System.currentTimeMillis() < endTime) ;
assertTrue(eventManager.getEventPool().isEmpty());
@ -115,24 +111,23 @@ public class EventAsynchronousTest {
@Test
public void testFullAsynchronousEvent() {
EventManager eventManager = new EventManager();
var eventManager = new EventManager();
try {
int eventTime = 1;
var eventTime = 1;
int aEventId1 = eventManager.createAsync(eventTime);
int aEventId2 = eventManager.createAsync(eventTime);
int aEventId3 = eventManager.createAsync(eventTime);
var aEventId1 = eventManager.createAsync(eventTime);
var aEventId2 = eventManager.createAsync(eventTime);
var aEventId3 = eventManager.createAsync(eventTime);
assertEquals(3, eventManager.getEventPool().size());
eventManager.start(aEventId1);
eventManager.start(aEventId2);
eventManager.start(aEventId3);
long currentTime = System.currentTimeMillis();
long endTime = currentTime + (eventTime + 2 * 1000); // +2 to give a bit of buffer time for event to complete
// properly.
while (System.currentTimeMillis() < endTime) {
}
var currentTime = System.currentTimeMillis();
// +2 to give a bit of buffer time for event to complete properly.
var endTime = currentTime + (eventTime + 2 * 1000);
while (System.currentTimeMillis() < endTime) ;
assertTrue(eventManager.getEventPool().isEmpty());