Java 11 migrate 7 remaining f (#1115)
* Moves facade to Java 11 * Moves factory-kit to Java 11 * Moves factory-method to Java 11 * Moves feature-toggle to Java 11 * Moves fluentinterface to Java 11 * Moves flux to Java 11 * Moves flyweight to Java 11 * Moves front-controller to Java 11 * Uses stream properly * Resolves issues with ci
This commit is contained in:
committed by
Ilkka Seppälä
parent
f835d3d516
commit
670c4e43f3
@ -54,13 +54,13 @@ public class App {
|
||||
public static void main(String[] args) {
|
||||
|
||||
// initialize and wire the system
|
||||
MenuStore menuStore = new MenuStore();
|
||||
var menuStore = new MenuStore();
|
||||
Dispatcher.getInstance().registerStore(menuStore);
|
||||
ContentStore contentStore = new ContentStore();
|
||||
var contentStore = new ContentStore();
|
||||
Dispatcher.getInstance().registerStore(contentStore);
|
||||
MenuView menuView = new MenuView();
|
||||
var menuView = new MenuView();
|
||||
menuStore.registerView(menuView);
|
||||
ContentView contentView = new ContentView();
|
||||
var contentView = new ContentView();
|
||||
contentStore.registerView(contentView);
|
||||
|
||||
// render initial view
|
||||
|
@ -70,6 +70,6 @@ public final class Dispatcher {
|
||||
}
|
||||
|
||||
private void dispatchAction(Action action) {
|
||||
stores.stream().forEach(store -> store.onAction(action));
|
||||
stores.forEach(store -> store.onAction(action));
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ public class ContentStore extends Store {
|
||||
@Override
|
||||
public void onAction(Action action) {
|
||||
if (action.getType().equals(ActionType.CONTENT_CHANGED)) {
|
||||
ContentAction contentAction = (ContentAction) action;
|
||||
var contentAction = (ContentAction) action;
|
||||
content = contentAction.getContent();
|
||||
notifyChange();
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ public class MenuStore extends Store {
|
||||
@Override
|
||||
public void onAction(Action action) {
|
||||
if (action.getType().equals(ActionType.MENU_ITEM_SELECTED)) {
|
||||
MenuAction menuAction = (MenuAction) action;
|
||||
var menuAction = (MenuAction) action;
|
||||
selected = menuAction.getMenuItem();
|
||||
notifyChange();
|
||||
}
|
||||
|
@ -42,6 +42,6 @@ public abstract class Store {
|
||||
}
|
||||
|
||||
protected void notifyChange() {
|
||||
views.stream().forEach(view -> view.storeChanged(this));
|
||||
views.forEach(view -> view.storeChanged(this));
|
||||
}
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ public class ContentView implements View {
|
||||
|
||||
@Override
|
||||
public void storeChanged(Store store) {
|
||||
ContentStore contentStore = (ContentStore) store;
|
||||
var contentStore = (ContentStore) store;
|
||||
content = contentStore.getContent();
|
||||
render();
|
||||
}
|
||||
|
@ -41,14 +41,14 @@ public class MenuView implements View {
|
||||
|
||||
@Override
|
||||
public void storeChanged(Store store) {
|
||||
MenuStore menuStore = (MenuStore) store;
|
||||
var menuStore = (MenuStore) store;
|
||||
selected = menuStore.getSelected();
|
||||
render();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
for (MenuItem item : MenuItem.values()) {
|
||||
for (var item : MenuItem.values()) {
|
||||
if (selected.equals(item)) {
|
||||
LOGGER.info("* {}", item);
|
||||
} else {
|
||||
|
@ -23,11 +23,11 @@
|
||||
|
||||
package com.iluwatar.flux.action;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 10:11 PM
|
||||
*
|
||||
@ -36,9 +36,9 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
public class ContentTest {
|
||||
|
||||
@Test
|
||||
public void testToString() throws Exception {
|
||||
for (final Content content : Content.values()) {
|
||||
final String toString = content.toString();
|
||||
public void testToString() {
|
||||
for (final var content : Content.values()) {
|
||||
final var toString = content.toString();
|
||||
assertNotNull(toString);
|
||||
assertFalse(toString.trim().isEmpty());
|
||||
}
|
||||
|
@ -23,11 +23,11 @@
|
||||
|
||||
package com.iluwatar.flux.action;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 10:15 PM
|
||||
*
|
||||
@ -36,9 +36,9 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
public class MenuItemTest {
|
||||
|
||||
@Test
|
||||
public void testToString() throws Exception {
|
||||
for (final MenuItem menuItem : MenuItem.values()) {
|
||||
final String toString = menuItem.toString();
|
||||
public void testToString() {
|
||||
for (final var menuItem : MenuItem.values()) {
|
||||
final var toString = menuItem.toString();
|
||||
assertNotNull(toString);
|
||||
assertFalse(toString.trim().isEmpty());
|
||||
}
|
||||
|
@ -26,15 +26,12 @@ package com.iluwatar.flux.app;
|
||||
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,22 +23,6 @@
|
||||
|
||||
package com.iluwatar.flux.dispatcher;
|
||||
|
||||
import com.iluwatar.flux.action.Action;
|
||||
import com.iluwatar.flux.action.ActionType;
|
||||
import com.iluwatar.flux.action.Content;
|
||||
import com.iluwatar.flux.action.ContentAction;
|
||||
import com.iluwatar.flux.action.MenuAction;
|
||||
import com.iluwatar.flux.action.MenuItem;
|
||||
import com.iluwatar.flux.store.Store;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertSame;
|
||||
@ -47,6 +31,19 @@ import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
|
||||
import com.iluwatar.flux.action.Action;
|
||||
import com.iluwatar.flux.action.ActionType;
|
||||
import com.iluwatar.flux.action.Content;
|
||||
import com.iluwatar.flux.action.ContentAction;
|
||||
import com.iluwatar.flux.action.MenuAction;
|
||||
import com.iluwatar.flux.action.MenuItem;
|
||||
import com.iluwatar.flux.store.Store;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 8:22 PM
|
||||
*
|
||||
@ -61,53 +58,56 @@ public class DispatcherTest {
|
||||
*/
|
||||
@BeforeEach
|
||||
public void setUp() throws Exception {
|
||||
final Constructor<Dispatcher> constructor;
|
||||
constructor = Dispatcher.class.getDeclaredConstructor();
|
||||
final var constructor = Dispatcher.class.getDeclaredConstructor();
|
||||
constructor.setAccessible(true);
|
||||
|
||||
final Field field = Dispatcher.class.getDeclaredField("instance");
|
||||
final var field = Dispatcher.class.getDeclaredField("instance");
|
||||
field.setAccessible(true);
|
||||
field.set(Dispatcher.getInstance(), constructor.newInstance());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetInstance() throws Exception {
|
||||
public void testGetInstance() {
|
||||
assertNotNull(Dispatcher.getInstance());
|
||||
assertSame(Dispatcher.getInstance(), Dispatcher.getInstance());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMenuItemSelected() throws Exception {
|
||||
final Dispatcher dispatcher = Dispatcher.getInstance();
|
||||
public void testMenuItemSelected() {
|
||||
final var dispatcher = Dispatcher.getInstance();
|
||||
|
||||
final Store store = mock(Store.class);
|
||||
final var store = mock(Store.class);
|
||||
dispatcher.registerStore(store);
|
||||
dispatcher.menuItemSelected(MenuItem.HOME);
|
||||
dispatcher.menuItemSelected(MenuItem.COMPANY);
|
||||
|
||||
// We expect 4 events, 2 menu selections and 2 content change actions
|
||||
final ArgumentCaptor<Action> actionCaptor = ArgumentCaptor.forClass(Action.class);
|
||||
final var actionCaptor = ArgumentCaptor.forClass(Action.class);
|
||||
verify(store, times(4)).onAction(actionCaptor.capture());
|
||||
verifyNoMoreInteractions(store);
|
||||
|
||||
final List<Action> actions = actionCaptor.getAllValues();
|
||||
final List<MenuAction> menuActions = actions.stream()
|
||||
.filter(a -> a.getType().equals(ActionType.MENU_ITEM_SELECTED))
|
||||
.map(a -> (MenuAction) a)
|
||||
.collect(Collectors.toList());
|
||||
final var actions = actionCaptor.getAllValues();
|
||||
final var menuActions = actions.stream()
|
||||
.filter(a -> a.getType().equals(ActionType.MENU_ITEM_SELECTED))
|
||||
.map(a -> (MenuAction) a)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
final List<ContentAction> contentActions = actions.stream()
|
||||
.filter(a -> a.getType().equals(ActionType.CONTENT_CHANGED))
|
||||
.map(a -> (ContentAction) a)
|
||||
.collect(Collectors.toList());
|
||||
final var contentActions = actions.stream()
|
||||
.filter(a -> a.getType().equals(ActionType.CONTENT_CHANGED))
|
||||
.map(a -> (ContentAction) a)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
assertEquals(2, menuActions.size());
|
||||
assertEquals(1, menuActions.stream().map(MenuAction::getMenuItem).filter(MenuItem.HOME::equals).count());
|
||||
assertEquals(1, menuActions.stream().map(MenuAction::getMenuItem).filter(MenuItem.COMPANY::equals).count());
|
||||
assertEquals(1, menuActions.stream().map(MenuAction::getMenuItem).filter(MenuItem.HOME::equals)
|
||||
.count());
|
||||
assertEquals(1, menuActions.stream().map(MenuAction::getMenuItem)
|
||||
.filter(MenuItem.COMPANY::equals).count());
|
||||
|
||||
assertEquals(2, contentActions.size());
|
||||
assertEquals(1, contentActions.stream().map(ContentAction::getContent).filter(Content.PRODUCTS::equals).count());
|
||||
assertEquals(1, contentActions.stream().map(ContentAction::getContent).filter(Content.COMPANY::equals).count());
|
||||
assertEquals(1, contentActions.stream().map(ContentAction::getContent)
|
||||
.filter(Content.PRODUCTS::equals).count());
|
||||
assertEquals(1, contentActions.stream().map(ContentAction::getContent)
|
||||
.filter(Content.COMPANY::equals).count());
|
||||
|
||||
}
|
||||
|
||||
|
@ -23,6 +23,14 @@
|
||||
|
||||
package com.iluwatar.flux.store;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
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.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
import com.iluwatar.flux.action.Content;
|
||||
import com.iluwatar.flux.action.ContentAction;
|
||||
import com.iluwatar.flux.action.MenuAction;
|
||||
@ -30,14 +38,6 @@ import com.iluwatar.flux.action.MenuItem;
|
||||
import com.iluwatar.flux.view.View;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
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;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 10:18 PM
|
||||
*
|
||||
@ -46,10 +46,10 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
public class ContentStoreTest {
|
||||
|
||||
@Test
|
||||
public void testOnAction() throws Exception {
|
||||
final ContentStore contentStore = new ContentStore();
|
||||
public void testOnAction() {
|
||||
final var contentStore = new ContentStore();
|
||||
|
||||
final View view = mock(View.class);
|
||||
final var view = mock(View.class);
|
||||
contentStore.registerView(view);
|
||||
|
||||
verifyZeroInteractions(view);
|
||||
|
@ -23,6 +23,14 @@
|
||||
|
||||
package com.iluwatar.flux.store;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
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.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
import com.iluwatar.flux.action.Content;
|
||||
import com.iluwatar.flux.action.ContentAction;
|
||||
import com.iluwatar.flux.action.MenuAction;
|
||||
@ -30,14 +38,6 @@ import com.iluwatar.flux.action.MenuItem;
|
||||
import com.iluwatar.flux.view.View;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
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;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 10:18 PM
|
||||
*
|
||||
@ -46,10 +46,10 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
public class MenuStoreTest {
|
||||
|
||||
@Test
|
||||
public void testOnAction() throws Exception {
|
||||
final MenuStore menuStore = new MenuStore();
|
||||
public void testOnAction() {
|
||||
final var menuStore = new MenuStore();
|
||||
|
||||
final View view = mock(View.class);
|
||||
final var view = mock(View.class);
|
||||
menuStore.registerView(view);
|
||||
|
||||
verifyZeroInteractions(view);
|
||||
|
@ -23,15 +23,15 @@
|
||||
|
||||
package com.iluwatar.flux.view;
|
||||
|
||||
import com.iluwatar.flux.action.Content;
|
||||
import com.iluwatar.flux.store.ContentStore;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.iluwatar.flux.action.Content;
|
||||
import com.iluwatar.flux.store.ContentStore;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 10:31 PM
|
||||
@ -41,11 +41,11 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
public class ContentViewTest {
|
||||
|
||||
@Test
|
||||
public void testStoreChanged() throws Exception {
|
||||
final ContentStore store = mock(ContentStore.class);
|
||||
public void testStoreChanged() {
|
||||
final var store = mock(ContentStore.class);
|
||||
when(store.getContent()).thenReturn(Content.PRODUCTS);
|
||||
|
||||
final ContentView view = new ContentView();
|
||||
final var view = new ContentView();
|
||||
view.storeChanged(store);
|
||||
|
||||
verify(store, times(1)).getContent();
|
||||
|
@ -23,13 +23,6 @@
|
||||
|
||||
package com.iluwatar.flux.view;
|
||||
|
||||
import com.iluwatar.flux.action.Action;
|
||||
import com.iluwatar.flux.action.MenuItem;
|
||||
import com.iluwatar.flux.dispatcher.Dispatcher;
|
||||
import com.iluwatar.flux.store.MenuStore;
|
||||
import com.iluwatar.flux.store.Store;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
@ -37,6 +30,13 @@ import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.iluwatar.flux.action.Action;
|
||||
import com.iluwatar.flux.action.MenuItem;
|
||||
import com.iluwatar.flux.dispatcher.Dispatcher;
|
||||
import com.iluwatar.flux.store.MenuStore;
|
||||
import com.iluwatar.flux.store.Store;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Date: 12/12/15 - 10:31 PM
|
||||
*
|
||||
@ -45,11 +45,11 @@ import static org.mockito.Mockito.when;
|
||||
public class MenuViewTest {
|
||||
|
||||
@Test
|
||||
public void testStoreChanged() throws Exception {
|
||||
final MenuStore store = mock(MenuStore.class);
|
||||
public void testStoreChanged() {
|
||||
final var store = mock(MenuStore.class);
|
||||
when(store.getSelected()).thenReturn(MenuItem.HOME);
|
||||
|
||||
final MenuView view = new MenuView();
|
||||
final var view = new MenuView();
|
||||
view.storeChanged(store);
|
||||
|
||||
verify(store, times(1)).getSelected();
|
||||
@ -57,11 +57,11 @@ public class MenuViewTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testItemClicked() throws Exception {
|
||||
final Store store = mock(Store.class);
|
||||
public void testItemClicked() {
|
||||
final var store = mock(Store.class);
|
||||
Dispatcher.getInstance().registerStore(store);
|
||||
|
||||
final MenuView view = new MenuView();
|
||||
final var view = new MenuView();
|
||||
view.itemClicked(MenuItem.PRODUCTS);
|
||||
|
||||
// We should receive a menu click action and a content changed action
|
||||
|
Reference in New Issue
Block a user