Java 11 migrate remaining (g,h,i) (#1116)

* Moves game-loop to Java 11

* Moves guarded-suspension to Java 11

* Moves half-sync-half-async to Java 11

* Moves hexagonal to Java 11

* Moves intercepting-filter to Java 11

* Moves interpreter to Java 11

* Moves iterator to Java 11
This commit is contained in:
Anurag Agarwal
2019-12-20 10:41:30 +05:30
committed by Ilkka Seppälä
parent 7d0a5c0edb
commit f835d3d516
68 changed files with 454 additions and 533 deletions

View File

@@ -33,7 +33,7 @@ public class AddressFilter extends AbstractFilter {
@Override
public String execute(Order order) {
String result = super.execute(order);
var result = super.execute(order);
if (order.getAddress() == null || order.getAddress().isEmpty()) {
return result + "Invalid address! ";
} else {

View File

@@ -54,14 +54,14 @@ public class App {
* @param args command line args
*/
public static void main(String[] args) {
FilterManager filterManager = new FilterManager();
var filterManager = new FilterManager();
filterManager.addFilter(new NameFilter());
filterManager.addFilter(new ContactFilter());
filterManager.addFilter(new AddressFilter());
filterManager.addFilter(new DepositFilter());
filterManager.addFilter(new OrderFilter());
Client client = new Client();
var client = new Client();
client.setFilterManager(filterManager);
}
}

View File

@@ -25,7 +25,8 @@ package com.iluwatar.intercepting.filter;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.util.Arrays;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
@@ -65,11 +66,11 @@ public class Client extends JFrame { // NOSONAR
setSize(300, 300);
jl = new JLabel("RUNNING...");
jtFields = new JTextField[3];
for (int i = 0; i < 3; i++) {
for (var i = 0; i < 3; i++) {
jtFields[i] = new JTextField();
}
jtAreas = new JTextArea[2];
for (int i = 0; i < 2; i++) {
for (var i = 0; i < 2; i++) {
jtAreas[i] = new JTextArea();
}
clearButton = new JButton("Clear");
@@ -80,7 +81,7 @@ public class Client extends JFrame { // NOSONAR
private void setup() {
setLayout(new BorderLayout());
JPanel panel = new JPanel();
var panel = new JPanel();
add(jl, BorderLayout.SOUTH);
add(panel, BorderLayout.CENTER);
panel.setLayout(new GridLayout(6, 2));
@@ -98,21 +99,11 @@ public class Client extends JFrame { // NOSONAR
panel.add(processButton);
clearButton.addActionListener(e -> {
for (JTextArea i : jtAreas) {
i.setText("");
}
for (JTextField i : jtFields) {
i.setText("");
}
Arrays.stream(jtAreas).forEach(i -> i.setText(""));
Arrays.stream(jtFields).forEach(i -> i.setText(""));
});
processButton.addActionListener(e -> {
Order order =
new Order(jtFields[0].getText(), jtFields[1].getText(), jtAreas[0].getText(), jtFields[2]
.getText(),
jtAreas[1].getText());
jl.setText(sendRequest(order));
});
processButton.addActionListener(this::actionPerformed);
JRootPane rootPane = SwingUtilities.getRootPane(processButton);
rootPane.setDefaultButton(processButton);
@@ -126,4 +117,14 @@ public class Client extends JFrame { // NOSONAR
public String sendRequest(Order order) {
return filterManager.filterRequest(order);
}
private void actionPerformed(ActionEvent e) {
var fieldText1 = jtFields[0].getText();
var fieldText2 = jtFields[1].getText();
var areaText1 = jtAreas[0].getText();
var fieldText3 = jtFields[2].getText();
var areaText2 = jtAreas[1].getText();
var order = new Order(fieldText1, fieldText2, areaText1, fieldText3, areaText2);
jl.setText(sendRequest(order));
}
}

View File

@@ -34,10 +34,11 @@ public class ContactFilter extends AbstractFilter {
@Override
public String execute(Order order) {
String result = super.execute(order);
if (order.getContactNumber() == null || order.getContactNumber().isEmpty()
|| order.getContactNumber().matches(".*[^\\d]+.*")
|| order.getContactNumber().length() != 11) {
var result = super.execute(order);
var contactNumber = order.getContactNumber();
if (contactNumber == null || contactNumber.isEmpty()
|| contactNumber.matches(".*[^\\d]+.*")
|| contactNumber.length() != 11) {
return result + "Invalid contact number! ";
} else {
return result;

View File

@@ -32,8 +32,9 @@ public class DepositFilter extends AbstractFilter {
@Override
public String execute(Order order) {
String result = super.execute(order);
if (order.getDepositNumber() == null || order.getDepositNumber().isEmpty()) {
var result = super.execute(order);
var depositNumber = order.getDepositNumber();
if (depositNumber == null || depositNumber.isEmpty()) {
return result + "Invalid deposit number! ";
} else {
return result;

View File

@@ -33,9 +33,9 @@ public class NameFilter extends AbstractFilter {
@Override
public String execute(Order order) {
String result = super.execute(order);
if (order.getName() == null || order.getName().isEmpty()
|| order.getName().matches(".*[^\\w|\\s]+.*")) {
var result = super.execute(order);
var name = order.getName();
if (name == null || name.isEmpty() || name.matches(".*[^\\w|\\s]+.*")) {
return result + "Invalid name! ";
} else {
return result;

View File

@@ -32,8 +32,9 @@ public class OrderFilter extends AbstractFilter {
@Override
public String execute(Order order) {
String result = super.execute(order);
if (order.getOrderItem() == null || order.getOrderItem().isEmpty()) {
var result = super.execute(order);
var orderItem = order.getOrderItem();
if (orderItem == null || orderItem.isEmpty()) {
return result + "Invalid order! ";
} else {
return result;

View File

@@ -27,11 +27,10 @@ import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.stream.IntStream;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
@@ -58,9 +57,8 @@ public class Target extends JFrame { //NOSONAR
super("Order System");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(640, 480);
dtm =
new DefaultTableModel(new Object[]{"Name", "Contact Number", "Address", "Deposit Number",
"Order"}, 0);
dtm = new DefaultTableModel(
new Object[]{"Name", "Contact Number", "Address", "Deposit Number", "Order"}, 0);
jt = new JTable(dtm);
del = new JButton("Delete");
setup();
@@ -68,18 +66,18 @@ public class Target extends JFrame { //NOSONAR
private void setup() {
setLayout(new BorderLayout());
JPanel bot = new JPanel();
var bot = new JPanel();
add(jt.getTableHeader(), BorderLayout.NORTH);
bot.setLayout(new BorderLayout());
bot.add(del, BorderLayout.EAST);
add(bot, BorderLayout.SOUTH);
JScrollPane jsp = new JScrollPane(jt);
var jsp = new JScrollPane(jt);
jsp.setPreferredSize(new Dimension(500, 250));
add(jsp, BorderLayout.CENTER);
del.addActionListener(new DListener());
JRootPane rootPane = SwingUtilities.getRootPane(del);
var rootPane = SwingUtilities.getRootPane(del);
rootPane.setDefaultButton(del);
setVisible(true);
}
@@ -91,14 +89,12 @@ public class Target extends JFrame { //NOSONAR
class DListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
int temp = jt.getSelectedRow();
var temp = jt.getSelectedRow();
if (temp == -1) {
return;
}
int temp2 = jt.getSelectedRowCount();
for (int i = 0; i < temp2; i++) {
dtm.removeRow(temp);
}
var temp2 = jt.getSelectedRowCount();
IntStream.range(0, temp2).forEach(i -> dtm.removeRow(temp));
}
}
}

View File

@@ -26,15 +26,12 @@ package com.iluwatar.intercepting.filter;
import org.junit.jupiter.api.Test;
/**
*
* Application test.
*
*/
public class AppTest {
@Test
public void test() {
String[] args = {};
App.main(args);
App.main(new String[]{});
}
}

View File

@@ -23,8 +23,6 @@
package com.iluwatar.intercepting.filter;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
@@ -33,6 +31,8 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
import org.junit.jupiter.api.Test;
/**
* Date: 12/13/15 - 3:01 PM
*
@@ -42,20 +42,20 @@ public class FilterManagerTest {
@Test
public void testFilterRequest() {
final Target target = mock(Target.class);
final FilterManager filterManager = new FilterManager();
final var target = mock(Target.class);
final var filterManager = new FilterManager();
assertEquals("RUNNING...", filterManager.filterRequest(mock(Order.class)));
verifyZeroInteractions(target);
}
@Test
public void testAddFilter() {
final Target target = mock(Target.class);
final FilterManager filterManager = new FilterManager();
final var target = mock(Target.class);
final var filterManager = new FilterManager();
verifyZeroInteractions(target);
final Filter filter = mock(Filter.class);
final var filter = mock(Filter.class);
when(filter.execute(any(Order.class))).thenReturn("filter");
filterManager.addFilter(filter);

View File

@@ -23,17 +23,15 @@
package com.iluwatar.intercepting.filter;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import java.util.ArrayList;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertSame;
import java.util.List;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
/**
* Date: 12/13/15 - 2:17 PM
*
@@ -41,7 +39,8 @@ import static org.junit.jupiter.api.Assertions.assertSame;
*/
public class FilterTest {
private static final Order PERFECT_ORDER = new Order("name", "12345678901", "addr", "dep", "order");
private static final Order PERFECT_ORDER =
new Order("name", "12345678901", "addr", "dep", "order");
private static final Order WRONG_ORDER = new Order("name", "12345678901", "addr", "dep", "");
private static final Order WRONG_DEPOSIT = new Order("name", "12345678901", "addr", "", "order");
private static final Order WRONG_ADDRESS = new Order("name", "12345678901", "", "dep", "order");
@@ -49,49 +48,48 @@ public class FilterTest {
private static final Order WRONG_NAME = new Order("", "12345678901", "addr", "dep", "order");
static List<Object[]> getTestData() {
final List<Object[]> testData = new ArrayList<>();
testData.add(new Object[]{new NameFilter(), PERFECT_ORDER, ""});
testData.add(new Object[]{new NameFilter(), WRONG_NAME, "Invalid name!"});
testData.add(new Object[]{new NameFilter(), WRONG_CONTACT, ""});
testData.add(new Object[]{new NameFilter(), WRONG_ADDRESS, ""});
testData.add(new Object[]{new NameFilter(), WRONG_DEPOSIT, ""});
testData.add(new Object[]{new NameFilter(), WRONG_ORDER, ""});
return List.of(
new Object[]{new NameFilter(), PERFECT_ORDER, ""},
new Object[]{new NameFilter(), WRONG_NAME, "Invalid name!"},
new Object[]{new NameFilter(), WRONG_CONTACT, ""},
new Object[]{new NameFilter(), WRONG_ADDRESS, ""},
new Object[]{new NameFilter(), WRONG_DEPOSIT, ""},
new Object[]{new NameFilter(), WRONG_ORDER, ""},
testData.add(new Object[]{new ContactFilter(), PERFECT_ORDER, ""});
testData.add(new Object[]{new ContactFilter(), WRONG_NAME, ""});
testData.add(new Object[]{new ContactFilter(), WRONG_CONTACT, "Invalid contact number!"});
testData.add(new Object[]{new ContactFilter(), WRONG_ADDRESS, ""});
testData.add(new Object[]{new ContactFilter(), WRONG_DEPOSIT, ""});
testData.add(new Object[]{new ContactFilter(), WRONG_ORDER, ""});
new Object[]{new ContactFilter(), PERFECT_ORDER, ""},
new Object[]{new ContactFilter(), WRONG_NAME, ""},
new Object[]{new ContactFilter(), WRONG_CONTACT, "Invalid contact number!"},
new Object[]{new ContactFilter(), WRONG_ADDRESS, ""},
new Object[]{new ContactFilter(), WRONG_DEPOSIT, ""},
new Object[]{new ContactFilter(), WRONG_ORDER, ""},
testData.add(new Object[]{new AddressFilter(), PERFECT_ORDER, ""});
testData.add(new Object[]{new AddressFilter(), WRONG_NAME, ""});
testData.add(new Object[]{new AddressFilter(), WRONG_CONTACT, ""});
testData.add(new Object[]{new AddressFilter(), WRONG_ADDRESS, "Invalid address!"});
testData.add(new Object[]{new AddressFilter(), WRONG_DEPOSIT, ""});
testData.add(new Object[]{new AddressFilter(), WRONG_ORDER, ""});
new Object[]{new AddressFilter(), PERFECT_ORDER, ""},
new Object[]{new AddressFilter(), WRONG_NAME, ""},
new Object[]{new AddressFilter(), WRONG_CONTACT, ""},
new Object[]{new AddressFilter(), WRONG_ADDRESS, "Invalid address!"},
new Object[]{new AddressFilter(), WRONG_DEPOSIT, ""},
new Object[]{new AddressFilter(), WRONG_ORDER, ""},
testData.add(new Object[]{new DepositFilter(), PERFECT_ORDER, ""});
testData.add(new Object[]{new DepositFilter(), WRONG_NAME, ""});
testData.add(new Object[]{new DepositFilter(), WRONG_CONTACT, ""});
testData.add(new Object[]{new DepositFilter(), WRONG_ADDRESS, ""});
testData.add(new Object[]{new DepositFilter(), WRONG_DEPOSIT, "Invalid deposit number!"});
testData.add(new Object[]{new DepositFilter(), WRONG_ORDER, ""});
new Object[]{new DepositFilter(), PERFECT_ORDER, ""},
new Object[]{new DepositFilter(), WRONG_NAME, ""},
new Object[]{new DepositFilter(), WRONG_CONTACT, ""},
new Object[]{new DepositFilter(), WRONG_ADDRESS, ""},
new Object[]{new DepositFilter(), WRONG_DEPOSIT, "Invalid deposit number!"},
new Object[]{new DepositFilter(), WRONG_ORDER, ""},
testData.add(new Object[]{new OrderFilter(), PERFECT_ORDER, ""});
testData.add(new Object[]{new OrderFilter(), WRONG_NAME, ""});
testData.add(new Object[]{new OrderFilter(), WRONG_CONTACT, ""});
testData.add(new Object[]{new OrderFilter(), WRONG_ADDRESS, ""});
testData.add(new Object[]{new OrderFilter(), WRONG_DEPOSIT, ""});
testData.add(new Object[]{new OrderFilter(), WRONG_ORDER, "Invalid order!"});
return testData;
new Object[]{new OrderFilter(), PERFECT_ORDER, ""},
new Object[]{new OrderFilter(), WRONG_NAME, ""},
new Object[]{new OrderFilter(), WRONG_CONTACT, ""},
new Object[]{new OrderFilter(), WRONG_ADDRESS, ""},
new Object[]{new OrderFilter(), WRONG_DEPOSIT, ""},
new Object[]{new OrderFilter(), WRONG_ORDER, "Invalid order!"}
);
}
@ParameterizedTest
@MethodSource("getTestData")
public void testExecute(Filter filter, Order order, String expectedResult) {
final String result = filter.execute(order);
final var result = filter.execute(order);
assertNotNull(result);
assertEquals(expectedResult, result.trim());
}

View File

@@ -23,10 +23,10 @@
package com.iluwatar.intercepting.filter;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
/**
* Date: 12/13/15 - 2:57 PM
*
@@ -38,35 +38,35 @@ public class OrderTest {
@Test
public void testSetName() {
final Order order = new Order();
final var order = new Order();
order.setName(EXPECTED_VALUE);
assertEquals(EXPECTED_VALUE, order.getName());
}
@Test
public void testSetContactNumber() {
final Order order = new Order();
final var order = new Order();
order.setContactNumber(EXPECTED_VALUE);
assertEquals(EXPECTED_VALUE, order.getContactNumber());
}
@Test
public void testSetAddress() {
final Order order = new Order();
final var order = new Order();
order.setAddress(EXPECTED_VALUE);
assertEquals(EXPECTED_VALUE, order.getAddress());
}
@Test
public void testSetDepositNumber() {
final Order order = new Order();
final var order = new Order();
order.setDepositNumber(EXPECTED_VALUE);
assertEquals(EXPECTED_VALUE, order.getDepositNumber());
}
@Test
public void testSetOrder() {
final Order order = new Order();
final var order = new Order();
order.setOrderItem(EXPECTED_VALUE);
assertEquals(EXPECTED_VALUE, order.getOrderItem());
}