You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2018/07/09 07:49:25 UTC
[03/30] calcite git commit: [CALCITE-2259] Allow Java 8 syntax
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/linq4j/src/test/java/org/apache/calcite/linq4j/test/Linq4jTest.java
----------------------------------------------------------------------
diff --git a/linq4j/src/test/java/org/apache/calcite/linq4j/test/Linq4jTest.java b/linq4j/src/test/java/org/apache/calcite/linq4j/test/Linq4jTest.java
index fb24043..8f76c1b 100644
--- a/linq4j/src/test/java/org/apache/calcite/linq4j/test/Linq4jTest.java
+++ b/linq4j/src/test/java/org/apache/calcite/linq4j/test/Linq4jTest.java
@@ -77,68 +77,28 @@ import static org.junit.Assert.fail;
* Tests for LINQ4J.
*/
public class Linq4jTest {
- public static final Function1<Employee, String> EMP_NAME_SELECTOR =
- new Function1<Employee, String>() {
- public String apply(Employee employee) {
- return employee.name;
- }
- };
+ public static final Function1<Employee, String> EMP_NAME_SELECTOR = employee -> employee.name;
public static final Function1<Employee, Integer> EMP_DEPTNO_SELECTOR =
- new Function1<Employee, Integer>() {
- public Integer apply(Employee employee) {
- return employee.deptno;
- }
- };
+ employee -> employee.deptno;
- public static final Function1<Employee, Integer> EMP_EMPNO_SELECTOR =
- new Function1<Employee, Integer>() {
- public Integer apply(Employee employee) {
- return employee.empno;
- }
- };
+ public static final Function1<Employee, Integer> EMP_EMPNO_SELECTOR = employee -> employee.empno;
public static final Function1<Department, Enumerable<Employee>> DEPT_EMPLOYEES_SELECTOR =
- new Function1<Department, Enumerable<Employee>>() {
- public Enumerable<Employee> apply(Department a0) {
- return Linq4j.asEnumerable(a0.employees);
- }
- };
+ a0 -> Linq4j.asEnumerable(a0.employees);
public static final Function1<Department, String> DEPT_NAME_SELECTOR =
- new Function1<Department, String>() {
- public String apply(Department department) {
- return department.name;
- }
- };
+ department -> department.name;
public static final Function1<Department, Integer> DEPT_DEPTNO_SELECTOR =
- new Function1<Department, Integer>() {
- public Integer apply(Department department) {
- return department.deptno;
- }
- };
+ department -> department.deptno;
public static final IntegerFunction1<Department> DEPT_DEPTNO_SELECTOR2 =
- new IntegerFunction1<Department>() {
- public int apply(Department department) {
- return department.deptno;
- }
- };
+ department -> department.deptno;
- public static final Function1<Object, Integer> ONE_SELECTOR =
- new Function1<Object, Integer>() {
- public Integer apply(Object employee) {
- return 1;
- }
- };
+ public static final Function1<Object, Integer> ONE_SELECTOR = employee -> 1;
- private static final Function2<Object, Object, Integer> PAIR_SELECTOR =
- new Function2<Object, Object, Integer>() {
- public Integer apply(Object employee, Object v2) {
- return 1;
- }
- };
+ private static final Function2<Object, Object, Integer> PAIR_SELECTOR = (employee, v2) -> 1;
@Test public void testSelect() {
List<String> names =
@@ -151,12 +111,7 @@ public class Linq4jTest {
@Test public void testWhere() {
List<String> names =
Linq4j.asEnumerable(emps)
- .where(
- new Predicate1<Employee>() {
- public boolean apply(Employee employee) {
- return employee.deptno < 15;
- }
- })
+ .where(employee -> employee.deptno < 15)
.select(EMP_NAME_SELECTOR)
.toList();
assertEquals("[Fred, Eric, Janet]", names.toString());
@@ -166,12 +121,7 @@ public class Linq4jTest {
// Returns every other employee.
List<String> names =
Linq4j.asEnumerable(emps)
- .where(
- new Predicate2<Employee, Integer>() {
- public boolean apply(Employee employee, Integer n) {
- return n % 2 == 0;
- }
- })
+ .where((employee, n) -> n % 2 == 0)
.select(EMP_NAME_SELECTOR)
.toList();
assertEquals("[Fred, Eric]", names.toString());
@@ -181,12 +131,7 @@ public class Linq4jTest {
final List<String> nameSeqs =
Linq4j.asEnumerable(depts)
.selectMany(DEPT_EMPLOYEES_SELECTOR)
- .select(
- new Function2<Employee, Integer, String>() {
- public String apply(Employee v1, Integer v2) {
- return "#" + v2 + ": " + v1.name;
- }
- })
+ .select((v1, v2) -> "#" + v2 + ": " + v1.name)
.toList();
assertEquals(
"[#0: Fred, #1: Eric, #2: Janet, #3: Bill]", nameSeqs.toString());
@@ -199,12 +144,7 @@ public class Linq4jTest {
@Test public void testCountPredicate() {
final int count =
- Linq4j.asEnumerable(depts).count(
- new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return v1.employees.size() > 0;
- }
- });
+ Linq4j.asEnumerable(depts).count(v1 -> v1.employees.size() > 0);
assertEquals(2, count);
}
@@ -215,27 +155,14 @@ public class Linq4jTest {
@Test public void testLongCountPredicate() {
final long count =
- Linq4j.asEnumerable(depts).longCount(
- new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return v1.employees.size() > 0;
- }
- });
+ Linq4j.asEnumerable(depts).longCount(v1 -> v1.employees.size() > 0);
assertEquals(2, count);
}
@Test public void testAllPredicate() {
- Predicate1<Employee> allEmpnoGE100 = new Predicate1<Employee>() {
- public boolean apply(Employee emp) {
- return emp.empno >= 100;
- }
- };
+ Predicate1<Employee> allEmpnoGE100 = emp -> emp.empno >= 100;
- Predicate1<Employee> allEmpnoGT100 = new Predicate1<Employee>() {
- public boolean apply(Employee emp) {
- return emp.empno > 100;
- }
- };
+ Predicate1<Employee> allEmpnoGT100 = emp -> emp.empno > 100;
assertTrue(Linq4j.asEnumerable(emps).all(allEmpnoGE100));
assertFalse(Linq4j.asEnumerable(emps).all(allEmpnoGT100));
@@ -248,17 +175,9 @@ public class Linq4jTest {
}
@Test public void testAnyPredicate() {
- Predicate1<Department> deptoNameIT = new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return v1.name != null && v1.name.equals("IT");
- }
- };
+ Predicate1<Department> deptoNameIT = v1 -> v1.name != null && v1.name.equals("IT");
- Predicate1<Department> deptoNameSales = new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return v1.name != null && v1.name.equals("Sales");
- }
- };
+ Predicate1<Department> deptoNameSales = v1 -> v1.name != null && v1.name.equals("Sales");
assertFalse(Linq4j.asEnumerable(depts).any(deptoNameIT));
assertTrue(Linq4j.asEnumerable(depts).any(deptoNameSales));
@@ -315,11 +234,7 @@ public class Linq4jTest {
.select(DEPT_NAME_SELECTOR)
.aggregate(
null,
- new Function2<String, String, String>() {
- public String apply(String v1, String v2) {
- return v1 == null ? v2 : v1 + "," + v2;
- }
- }));
+ (Function2<String, String, String>) (v1, v2) -> v1 == null ? v2 : v1 + "," + v2));
}
@Test public void testToMap() {
@@ -333,15 +248,16 @@ public class Linq4jTest {
@Test public void testToMapWithComparer() {
final Map<String, String> map =
Linq4j.asEnumerable(Arrays.asList("foo", "bar", "far"))
- .toMap(Functions.<String>identitySelector(), new EqualityComparer<String>() {
- public boolean equal(String v1, String v2) {
- return String.CASE_INSENSITIVE_ORDER.compare(v1, v2) == 0;
- }
- public int hashCode(String s) {
- return s == null ? Objects.hashCode(null)
- : s.toLowerCase(Locale.ROOT).hashCode();
- }
- });
+ .toMap(Functions.identitySelector(),
+ new EqualityComparer<String>() {
+ public boolean equal(String v1, String v2) {
+ return String.CASE_INSENSITIVE_ORDER.compare(v1, v2) == 0;
+ }
+ public int hashCode(String s) {
+ return s == null ? Objects.hashCode(null)
+ : s.toLowerCase(Locale.ROOT).hashCode();
+ }
+ });
assertEquals(3, map.size());
assertTrue(map.get("foo").equals("foo"));
assertTrue(map.get("Foo").equals("foo"));
@@ -359,12 +275,8 @@ public class Linq4jTest {
@Test public void testToMap2WithComparer() {
final Map<String, String> map =
Linq4j.asEnumerable(Arrays.asList("foo", "bar", "far"))
- .toMap(Functions.<String>identitySelector(),
- new Function1<String, String>() {
- public String apply(String x) {
- return x == null ? null : x.toUpperCase(Locale.ROOT);
- }
- },
+ .toMap(Functions.identitySelector(),
+ x -> x == null ? null : x.toUpperCase(Locale.ROOT),
new EqualityComparer<String>() {
public boolean equal(String v1, String v2) {
return String.CASE_INSENSITIVE_ORDER.compare(v1, v2) == 0;
@@ -430,13 +342,8 @@ public class Linq4jTest {
assertEquals(
"[10:3, 30:1]",
- lookup.applyResultSelector(
- new Function2<Integer, Enumerable<String>, String>() {
- public String apply(Integer v1, Enumerable<String> v2) {
- return v1 + ":" + v2.count();
- }
- })
- .orderBy(Functions.<String>identitySelector())
+ lookup.applyResultSelector((v1, v2) -> v1 + ":" + v2.count())
+ .orderBy(Functions.identitySelector())
.toList().toString());
}
@@ -538,17 +445,9 @@ public class Linq4jTest {
}
@Test public void testFirstPredicate1() {
- Predicate1<String> startWithS = new Predicate1<String>() {
- public boolean apply(String s) {
- return s != null && Character.toString(s.charAt(0)).equals("S");
- }
- };
+ Predicate1<String> startWithS = s -> s != null && Character.toString(s.charAt(0)).equals("S");
- Predicate1<Integer> numberGT15 = new Predicate1<Integer>() {
- public boolean apply(Integer i) {
- return i > 15;
- }
- };
+ Predicate1<Integer> numberGT15 = i -> i > 15;
String[] people = {"Brill", "Smith", "Simpsom"};
String[] peopleWithoutCharS = {"Brill", "Andrew", "Alice"};
@@ -578,17 +477,9 @@ public class Linq4jTest {
}
@Test public void testFirstOrDefaultPredicate1() {
- Predicate1<String> startWithS = new Predicate1<String>() {
- public boolean apply(String s) {
- return s != null && Character.toString(s.charAt(0)).equals("S");
- }
- };
+ Predicate1<String> startWithS = s -> s != null && Character.toString(s.charAt(0)).equals("S");
- Predicate1<Integer> numberGT15 = new Predicate1<Integer>() {
- public boolean apply(Integer i) {
- return i > 15;
- }
- };
+ Predicate1<Integer> numberGT15 = i -> i > 15;
String[] people = {"Brill", "Smith", "Simpsom"};
String[] peopleWithoutCharS = {"Brill", "Andrew", "Alice"};
@@ -643,17 +534,9 @@ public class Linq4jTest {
}
@Test public void testSinglePredicate1() {
- Predicate1<String> startWithS = new Predicate1<String>() {
- public boolean apply(String s) {
- return s != null && Character.toString(s.charAt(0)).equals("S");
- }
- };
+ Predicate1<String> startWithS = s -> s != null && Character.toString(s.charAt(0)).equals("S");
- Predicate1<Integer> numberGT15 = new Predicate1<Integer>() {
- public boolean apply(Integer i) {
- return i > 15;
- }
- };
+ Predicate1<Integer> numberGT15 = i -> i > 15;
String[] people = {"Brill", "Smith"};
String[] twoPeopleWithCharS = {"Brill", "Smith", "Simpson"};
@@ -697,17 +580,9 @@ public class Linq4jTest {
@Test
public void testSingleOrDefaultPredicate1() {
- Predicate1<String> startWithS = new Predicate1<String>() {
- public boolean apply(String s) {
- return s != null && Character.toString(s.charAt(0)).equals("S");
- }
- };
+ Predicate1<String> startWithS = s -> s != null && Character.toString(s.charAt(0)).equals("S");
- Predicate1<Integer> numberGT15 = new Predicate1<Integer>() {
- public boolean apply(Integer i) {
- return i > 15;
- }
- };
+ Predicate1<Integer> numberGT15 = i -> i > 15;
String[] people = {"Brill", "Smith"};
String[] twoPeopleWithCharS = {"Brill", "Smith", "Simpson"};
@@ -749,12 +624,7 @@ public class Linq4jTest {
@Test public void testSelectorEqualityComparer() {
final EqualityComparer<Employee> comparer =
- Functions.selectorComparer(
- new Function1<Employee, Object>() {
- public Object apply(Employee a0) {
- return a0.deptno;
- }
- });
+ Functions.selectorComparer((Function1<Employee, Object>) a0 -> a0.deptno);
assertTrue(comparer.equal(emps[0], emps[0]));
assertEquals(comparer.hashCode(emps[0]), comparer.hashCode(emps[0]));
@@ -793,7 +663,7 @@ public class Linq4jTest {
StringBuilder buf = new StringBuilder();
for (Grouping<String, Employee> grouping
- : lookup.orderBy(Linq4jTest.<String, Employee>groupingKeyExtractor())) {
+ : lookup.orderBy(Linq4jTest.groupingKeyExtractor())) {
buf.append(grouping).append("\n");
}
assertEquals(
@@ -803,11 +673,7 @@ public class Linq4jTest {
}
private static <K extends Comparable, V> Function1<Grouping<K, V>, K> groupingKeyExtractor() {
- return new Function1<Grouping<K, V>, K>() {
- public K apply(Grouping<K, V> a0) {
- return a0.getKey();
- }
- };
+ return Grouping::getKey;
}
/**
@@ -818,20 +684,11 @@ public class Linq4jTest {
String s =
Linq4j.asEnumerable(emps)
.groupBy(
- EMP_DEPTNO_SELECTOR, new Function0<String>() {
- public String apply() {
- return null;
- }
- }, new Function2<String, Employee, String>() {
- public String apply(String v1, Employee e0) {
- return v1 == null ? e0.name : (v1 + "+" + e0.name);
- }
- }, new Function2<Integer, String, String>() {
- public String apply(Integer v1, String v2) {
- return v1 + ": " + v2;
- }
- })
- .orderBy(Functions.<String>identitySelector())
+ EMP_DEPTNO_SELECTOR,
+ (Function0<String>) () -> null,
+ (v1, e0) -> v1 == null ? e0.name : (v1 + "+" + e0.name),
+ (v1, v2) -> v1 + ": " + v2)
+ .orderBy(Functions.identitySelector())
.toList()
.toString();
assertEquals(
@@ -849,21 +706,8 @@ public class Linq4jTest {
String s =
Linq4j.asEnumerable(emps)
.aggregate(
- new Function0<String>() {
- public String apply() {
- return null;
- }
- }.apply(), //CHECKSTYLE: IGNORE 0
- new Function2<String, Employee, String>() {
- public String apply(String v1, Employee e0) {
- return v1 == null ? e0.name : (v1 + "+" + e0.name);
- }
- },
- new Function1<String, String>() {
- public String apply(String v2) {
- return "<no key>: " + v2;
- }
- });
+ ((Function0<String>) () -> null).apply(), //CHECKSTYLE: IGNORE 0
+ (v1, e0) -> v1 == null ? e0.name : (v1 + "+" + e0.name), v2 -> "<no key>: " + v2);
assertEquals(
"<no key>: Fred+Bill+Eric+Janet",
s);
@@ -903,11 +747,7 @@ public class Linq4jTest {
@Test public void testTransformEnumerator() {
final List<String> strings = Arrays.asList("one", "two", "three");
- final Function1<String, Integer> func = new Function1<String, Integer>() {
- public Integer apply(String a0) {
- return a0.length();
- }
- };
+ final Function1<String, Integer> func = String::length;
final Enumerator<Integer> enumerator =
Linq4j.transform(Linq4j.enumerator(strings), func);
assertThat(enumerator.moveNext(), is(true));
@@ -919,7 +759,7 @@ public class Linq4jTest {
assertThat(enumerator.moveNext(), is(false));
final Enumerator<Integer> enumerator2 =
- Linq4j.transform(Linq4j.<String>emptyEnumerator(), func);
+ Linq4j.transform(Linq4j.emptyEnumerator(), func);
assertThat(enumerator2.moveNext(), is(false));
}
@@ -1078,20 +918,17 @@ public class Linq4jTest {
Linq4j.asEnumerable(emps)
.concat(Linq4j.asEnumerable(badEmps)),
DEPT_DEPTNO_SELECTOR,
- EMP_DEPTNO_SELECTOR,
- new Function2<Department, Enumerable<Employee>, String>() {
- public String apply(Department v1, Enumerable<Employee> v2) {
- final StringBuilder buf = new StringBuilder("[");
- int n = 0;
- for (Employee employee : v2) {
- if (n++ > 0) {
- buf.append(", ");
- }
- buf.append(employee.name);
+ EMP_DEPTNO_SELECTOR, (v1, v2) -> {
+ final StringBuilder buf = new StringBuilder("[");
+ int n = 0;
+ for (Employee employee : v2) {
+ if (n++ > 0) {
+ buf.append(", ");
}
- return buf.append("] work(s) in ").append(v1.name)
- .toString();
+ buf.append(employee.name);
}
+ return buf.append("] work(s) in ").append(v1.name)
+ .toString();
})
.toList()
.toString();
@@ -1112,20 +949,17 @@ public class Linq4jTest {
Linq4j.asEnumerable(emps)
.concat(Linq4j.asEnumerable(badEmps)),
DEPT_DEPTNO_SELECTOR,
- EMP_DEPTNO_SELECTOR,
- new Function2<Department, Enumerable<Employee>, String>() {
- public String apply(Department v1, Enumerable<Employee> v2) {
- final StringBuilder buf = new StringBuilder("[");
- int n = 0;
- for (Employee employee : v2) {
- if (n++ > 0) {
- buf.append(", ");
- }
- buf.append(employee.name);
+ EMP_DEPTNO_SELECTOR, (v1, v2) -> {
+ final StringBuilder buf = new StringBuilder("[");
+ int n = 0;
+ for (Employee employee : v2) {
+ if (n++ > 0) {
+ buf.append(", ");
}
- return buf.append("] work(s) in ").append(v1.name)
- .toString();
+ buf.append(employee.name);
}
+ return buf.append("] work(s) in ").append(v1.name)
+ .toString();
},
new EqualityComparer<Integer>() {
public boolean equal(Integer v1, Integer v2) {
@@ -1150,13 +984,8 @@ public class Linq4jTest {
.join(
Linq4j.asEnumerable(depts),
EMP_DEPTNO_SELECTOR,
- DEPT_DEPTNO_SELECTOR,
- new Function2<Employee, Department, String>() {
- public String apply(Employee v1, Department v2) {
- return v1.name + " works in " + v2.name;
- }
- })
- .orderBy(Functions.<String>identitySelector())
+ DEPT_DEPTNO_SELECTOR, (v1, v2) -> v1.name + " works in " + v2.name)
+ .orderBy(Functions.identitySelector())
.toList()
.toString();
assertEquals(
@@ -1178,14 +1007,9 @@ public class Linq4jTest {
.join(
Linq4j.asEnumerable(depts),
EMP_DEPTNO_SELECTOR,
- DEPT_DEPTNO_SELECTOR,
- new Function2<Employee, Department, String>() {
- public String apply(Employee v1, Department v2) {
- return v1.name + " works in "
- + (v2 == null ? null : v2.name);
- }
- }, null, false, true)
- .orderBy(Functions.<String>identitySelector())
+ DEPT_DEPTNO_SELECTOR, (v1, v2) -> v1.name + " works in "
+ + (v2 == null ? null : v2.name), null, false, true)
+ .orderBy(Functions.identitySelector())
.toList()
.toString();
assertEquals(
@@ -1208,14 +1032,9 @@ public class Linq4jTest {
.join(
Linq4j.asEnumerable(depts),
EMP_DEPTNO_SELECTOR,
- DEPT_DEPTNO_SELECTOR,
- new Function2<Employee, Department, String>() {
- public String apply(Employee v1, Department v2) {
- return (v1 == null ? null : v1.name)
- + " works in " + (v2 == null ? null : v2.name);
- }
- }, null, true, false)
- .orderBy(Functions.<String>identitySelector())
+ DEPT_DEPTNO_SELECTOR, (v1, v2) -> (v1 == null ? null : v1.name)
+ + " works in " + (v2 == null ? null : v2.name), null, true, false)
+ .orderBy(Functions.identitySelector())
.toList()
.toString();
assertEquals(
@@ -1238,14 +1057,9 @@ public class Linq4jTest {
.join(
Linq4j.asEnumerable(depts),
EMP_DEPTNO_SELECTOR,
- DEPT_DEPTNO_SELECTOR,
- new Function2<Employee, Department, String>() {
- public String apply(Employee v1, Department v2) {
- return (v1 == null ? null : v1.name)
- + " works in " + (v2 == null ? null : v2.name);
- }
- }, null, true, true)
- .orderBy(Functions.<String>identitySelector())
+ DEPT_DEPTNO_SELECTOR, (v1, v2) -> (v1 == null ? null : v1.name)
+ + " works in " + (v2 == null ? null : v2.name), null, true, true)
+ .orderBy(Functions.identitySelector())
.toList()
.toString();
assertEquals(
@@ -1285,19 +1099,19 @@ public class Linq4jTest {
final Enumerator<List<String>> product0 =
Linq4j.product(
- Arrays.asList(Linq4j.<String>emptyEnumerator()));
+ Arrays.asList(Linq4j.emptyEnumerator()));
assertFalse(product0.moveNext());
final Enumerator<List<String>> productFullEmpty =
Linq4j.product(
Arrays.asList(
- abc.enumerator(), Linq4j.<String>emptyEnumerator()));
+ abc.enumerator(), Linq4j.emptyEnumerator()));
assertFalse(productFullEmpty.moveNext());
final Enumerator<List<String>> productEmptyFull =
Linq4j.product(
Arrays.asList(
- abc.enumerator(), Linq4j.<String>emptyEnumerator()));
+ abc.enumerator(), Linq4j.emptyEnumerator()));
assertFalse(productEmptyFull.moveNext());
final Enumerator<List<String>> productAbcXy =
@@ -1347,12 +1161,7 @@ public class Linq4jTest {
Linq4j.asEnumerable(emps)
.asQueryable()
.where(
- Expressions.lambda(
- new Predicate1<Employee>() {
- public boolean apply(Employee v1) {
- return v1.deptno == 10;
- }
- }));
+ Expressions.lambda(v1 -> v1.deptno == 10));
assertEquals(3, nh2.count());
// use lambda, this time call whereN
@@ -1365,7 +1174,7 @@ public class Linq4jTest {
.asQueryable()
.whereN(
Expressions.lambda(
- Predicate2.class,
+ (Class<Predicate2<Employee, Integer>>) (Class) Predicate2.class,
Expressions.andAlso(
Expressions.equal(
Expressions.field(
@@ -1469,12 +1278,7 @@ public class Linq4jTest {
Linq4j.asEnumerable(depts);
final List<Department> deptList =
EnumerableDefaults.takeWhile(
- enumerableDepts,
- new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return v1.name.contains("e");
- }
- }).toList();
+ enumerableDepts, v1 -> v1.name.contains("e")).toList();
// Only one department:
// 0: Sales --> true
@@ -1508,11 +1312,7 @@ public class Linq4jTest {
@Test public void testTakeWhileQueryableFunctionExpressionPredicate() {
final Queryable<Department> queryableDepts =
Linq4j.asEnumerable(depts).asQueryable();
- Predicate1<Department> predicate = new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return "HR".equals(v1.name);
- }
- };
+ Predicate1<Department> predicate = v1 -> "HR".equals(v1.name);
List<Department> deptList =
QueryableDefaults.takeWhile(
queryableDepts, Expressions.lambda(predicate))
@@ -1520,11 +1320,7 @@ public class Linq4jTest {
assertEquals(0, deptList.size());
- predicate = new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return "Sales".equals(v1.name);
- }
- };
+ predicate = v1 -> "Sales".equals(v1.name);
deptList =
QueryableDefaults.takeWhile(
queryableDepts, Expressions.lambda(predicate))
@@ -1575,29 +1371,14 @@ public class Linq4jTest {
assertEquals(2, Linq4j.asEnumerable(depts).skip(1).count());
assertEquals(
2,
- Linq4j.asEnumerable(depts).skipWhile(
- new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return v1.name.equals("Sales");
- }
- }).count());
+ Linq4j.asEnumerable(depts).skipWhile(v1 -> v1.name.equals("Sales")).count());
assertEquals(
3,
- Linq4j.asEnumerable(depts).skipWhile(
- new Predicate1<Department>() {
- public boolean apply(Department v1) {
- return !v1.name.equals("Sales");
- }
- }).count());
+ Linq4j.asEnumerable(depts).skipWhile(v1 -> !v1.name.equals("Sales")).count());
assertEquals(
1,
- Linq4j.asEnumerable(depts).skipWhile(
- new Predicate2<Department, Integer>() {
- public boolean apply(Department v1, Integer v2) {
- return v1.name.equals("Sales")
- || v2 == 1;
- }
- }).count());
+ Linq4j.asEnumerable(depts).skipWhile((v1, v2) -> v1.name.equals("Sales")
+ || v2 == 1).count());
assertEquals(
2, Linq4j.asEnumerable(depts).skip(1).count());
@@ -1605,13 +1386,8 @@ public class Linq4jTest {
0, Linq4j.asEnumerable(depts).skip(5).count());
assertEquals(
1,
- Linq4j.asEnumerable(depts).skipWhile(
- new Predicate2<Department, Integer>() {
- public boolean apply(Department v1, Integer v2) {
- return v1.name.equals("Sales")
- || v2 == 1;
- }
- }).count());
+ Linq4j.asEnumerable(depts).skipWhile((v1, v2) -> v1.name.equals("Sales")
+ || v2 == 1).count());
assertEquals(
2, Linq4j.asEnumerable(depts).asQueryable().skip(1).count());
@@ -1620,13 +1396,8 @@ public class Linq4jTest {
assertEquals(
1,
Linq4j.asEnumerable(depts).asQueryable().skipWhileN(
- Expressions.<Predicate2<Department, Integer>>lambda(
- new Predicate2<Department, Integer>() {
- public boolean apply(Department v1, Integer v2) {
- return v1.name.equals("Sales")
- || v2 == 1;
- }
- })).count());
+ Expressions.lambda((v1, v2) -> v1.name.equals("Sales")
+ || v2 == 1)).count());
}
@Test public void testOrderBy() {
@@ -1649,7 +1420,7 @@ public class Linq4jTest {
Linq4j.asEnumerable(emps)
.orderBy(EMP_NAME_SELECTOR)
.orderBy(
- EMP_DEPTNO_SELECTOR, Collections.<Integer>reverseOrder())
+ EMP_DEPTNO_SELECTOR, Collections.reverseOrder())
.toList().toString());
}
@@ -1697,12 +1468,7 @@ public class Linq4jTest {
new Employee(130, "Janet", 10));
final List<Employee> result = new ArrayList<>();
Linq4j.asEnumerable(employees)
- .where(
- new Predicate1<Employee>() {
- public boolean apply(Employee e) {
- return e.name.contains("e");
- }
- })
+ .where(e -> e.name.contains("e"))
.into(result);
assertEquals(
"[Employee(name: Fred, deptno:10), Employee(name: Janet, deptno:10)]",
@@ -1722,12 +1488,7 @@ public class Linq4jTest {
final List<Grouping<Object, Map.Entry<Employee, Department>>> result =
new ArrayList<>();
Linq4j.asEnumerable(empDepts.entrySet())
- .groupBy(
- new Function1<Map.Entry<Employee, Department>, Object>() {
- public Object apply(Map.Entry<Employee, Department> entry) {
- return entry.getValue();
- }
- })
+ .groupBy((Function1<Map.Entry<Employee, Department>, Object>) Map.Entry::getValue)
.into(result);
assertNotNull(result.toString());
}
@@ -1883,17 +1644,9 @@ public class Linq4jTest {
@Test public void testLastWithPredicate() {
final Enumerable<String> enumerable =
Linq4j.asEnumerable(Arrays.asList("jimi", "mitch", "ming"));
- assertEquals("mitch", enumerable.last(new Predicate1<String>() {
- public boolean apply(String x) {
- return x.startsWith("mit");
- }
- }));
+ assertEquals("mitch", enumerable.last(x -> x.startsWith("mit")));
try {
- enumerable.last(new Predicate1<String>() {
- public boolean apply(String x) {
- return false;
- }
- });
+ enumerable.last(x -> false);
fail();
} catch (Exception ignored) {
// ok
@@ -1902,11 +1655,9 @@ public class Linq4jTest {
@SuppressWarnings("unchecked")
final Enumerable<String> emptyEnumerable = Linq4j.asEnumerable(Collections.EMPTY_LIST);
try {
- emptyEnumerable.last(new Predicate1<String>() {
- public boolean apply(String x) {
- fail();
- return false;
- }
+ emptyEnumerable.last(x -> {
+ fail();
+ return false;
});
fail();
} catch (Exception ignored) {
@@ -1917,44 +1668,28 @@ public class Linq4jTest {
@Test public void testLastOrDefaultWithPredicate() {
final Enumerable<String> enumerable =
Linq4j.asEnumerable(Arrays.asList("jimi", "mitch", "ming"));
- assertEquals("mitch", enumerable.lastOrDefault(new Predicate1<String>() {
- public boolean apply(String x) {
- return x.startsWith("mit");
- }
- }));
- assertNull(enumerable.lastOrDefault(new Predicate1<String>() {
- public boolean apply(String x) {
- return false;
- }
- }));
+ assertEquals("mitch", enumerable.lastOrDefault(x -> x.startsWith("mit")));
+ assertNull(enumerable.lastOrDefault(x -> false));
@SuppressWarnings("unchecked")
final Enumerable<String> emptyEnumerable = Linq4j.asEnumerable(Collections.EMPTY_LIST);
- assertNull(emptyEnumerable.lastOrDefault(new Predicate1<String>() {
- public boolean apply(String x) {
- fail();
- return false;
- }
- }));
+ assertNull(
+ emptyEnumerable.lastOrDefault(x -> {
+ fail();
+ return false;
+ }));
}
@Test public void testSelectManyWithIndexableSelector() {
final int[] indexRef = new int[]{0};
final List<String> nameSeqs =
Linq4j.asEnumerable(depts)
- .selectMany(new Function2<Department, Integer, Enumerable<Employee>>() {
- public Enumerable<Employee> apply(Department element, Integer index) {
- assertEquals(indexRef[0], index.longValue());
- indexRef[0] = index + 1;
- return Linq4j.asEnumerable(element.employees);
- }
+ .selectMany((element, index) -> {
+ assertEquals(indexRef[0], index.longValue());
+ indexRef[0] = index + 1;
+ return Linq4j.asEnumerable(element.employees);
})
- .select(
- new Function2<Employee, Integer, String>() {
- public String apply(Employee v1, Integer v2) {
- return "#" + v2 + ": " + v1.name;
- }
- })
+ .select((v1, v2) -> "#" + v2 + ": " + v1.name)
.toList();
assertEquals(
"[#0: Fred, #1: Eric, #2: Janet, #3: Bill]", nameSeqs.toString());
@@ -1964,16 +1699,8 @@ public class Linq4jTest {
final List<String> nameSeqs =
Linq4j.asEnumerable(depts)
.selectMany(DEPT_EMPLOYEES_SELECTOR,
- new Function2<Department, Employee, String>() {
- public String apply(Department element, Employee subElement) {
- return subElement.name + "@" + element.name;
- }
- })
- .select(new Function2<String, Integer, String>() {
- public String apply(String v0, Integer v1) {
- return "#" + v1 + ": " + v0;
- }
- })
+ (element, subElement) -> subElement.name + "@" + element.name)
+ .select((v0, v1) -> "#" + v1 + ": " + v0)
.toList();
assertEquals(
"[#0: Fred@Sales, #1: Eric@Sales, #2: Janet@Sales, #3: Bill@Marketing]",
@@ -1984,24 +1711,12 @@ public class Linq4jTest {
final int[] indexRef = new int[]{0};
final List<String> nameSeqs =
Linq4j.asEnumerable(depts)
- .selectMany(
- new Function2<Department, Integer, Enumerable<Employee>>() {
- public Enumerable<Employee> apply(Department element, Integer index) {
- assertEquals(indexRef[0], index.longValue());
- indexRef[0] = index + 1;
- return Linq4j.asEnumerable(element.employees);
- }
- },
- new Function2<Department, Employee, String>() {
- public String apply(Department element, Employee subElement) {
- return subElement.name + "@" + element.name;
- }
- })
- .select(new Function2<String, Integer, String>() {
- public String apply(String v0, Integer v1) {
- return "#" + v1 + ": " + v0;
- }
- })
+ .selectMany((element, index) -> {
+ assertEquals(indexRef[0], index.longValue());
+ indexRef[0] = index + 1;
+ return Linq4j.asEnumerable(element.employees);
+ }, (element, subElement) -> subElement.name + "@" + element.name)
+ .select((v0, v1) -> "#" + v1 + ": " + v0)
.toList();
assertEquals(
"[#0: Fred@Sales, #1: Eric@Sales, #2: Janet@Sales, #3: Bill@Marketing]",
@@ -2036,25 +1751,14 @@ public class Linq4jTest {
}
@Test public void testSequenceEqualWithoutCollection() {
- final Enumerable<String> enumerable1 = Linq4j.asEnumerable(new Iterable<String>() {
- public Iterator<String> iterator() {
- return Arrays.asList("ming", "foo", "bar").iterator();
- }
- });
- final Enumerable<String> enumerable2 = Linq4j.asEnumerable(new Iterable<String>() {
- public Iterator<String> iterator() {
- return Arrays.asList("ming", "foo", "bar").iterator();
- }
- });
+ final Enumerable<String> enumerable1 = Linq4j.asEnumerable(
+ () -> Arrays.asList("ming", "foo", "bar").iterator());
+ final Enumerable<String> enumerable2 = Linq4j.asEnumerable(
+ () -> Arrays.asList("ming", "foo", "bar").iterator());
assertTrue(enumerable1.sequenceEqual(enumerable2));
assertFalse(
enumerable1.sequenceEqual(
- Linq4j.asEnumerable(
- new Iterable<String>() {
- public Iterator<String> iterator() {
- return Arrays.asList("ming", "foo", "far").iterator();
- }
- })));
+ Linq4j.asEnumerable(() -> Arrays.asList("ming", "foo", "far").iterator())));
try {
EnumerableDefaults.sequenceEqual(null, enumerable2);
@@ -2111,16 +1815,10 @@ public class Linq4jTest {
}
@Test public void testSequenceEqualWithComparerWithoutCollection() {
- final Enumerable<String> enumerable1 = Linq4j.asEnumerable(new Iterable<String>() {
- public Iterator<String> iterator() {
- return Arrays.asList("ming", "foo", "bar").iterator();
- }
- });
- final Enumerable<String> enumerable2 = Linq4j.asEnumerable(new Iterable<String>() {
- public Iterator<String> iterator() {
- return Arrays.asList("ming", "foo", "bar").iterator();
- }
- });
+ final Enumerable<String> enumerable1 = Linq4j.asEnumerable(
+ () -> Arrays.asList("ming", "foo", "bar").iterator());
+ final Enumerable<String> enumerable2 = Linq4j.asEnumerable(
+ () -> Arrays.asList("ming", "foo", "bar").iterator());
final EqualityComparer<String> equalityComparer = new EqualityComparer<String>() {
public boolean equal(String v1, String v2) {
return !Objects.equals(v1, v2); // reverse the equality.
@@ -2130,14 +1828,10 @@ public class Linq4jTest {
}
};
assertFalse(enumerable1.sequenceEqual(enumerable2, equalityComparer));
+ final Enumerable<String> enumerable3 = Linq4j.asEnumerable(
+ () -> Arrays.asList("fun", "lol", "far").iterator());
assertTrue(
- enumerable1.sequenceEqual(
- Linq4j.asEnumerable(
- new Iterable<String>() {
- public Iterator<String> iterator() {
- return Arrays.asList("fun", "lol", "far").iterator();
- }
- }), equalityComparer));
+ enumerable1.sequenceEqual(enumerable3, equalityComparer));
try {
EnumerableDefaults.sequenceEqual(null, enumerable2);
@@ -2160,21 +1854,12 @@ public class Linq4jTest {
String s =
Linq4j.asEnumerable(emps)
.groupBy(EMP_DEPTNO_SELECTOR)
- .select(new Function1<Grouping<Integer, Employee>, String>() {
- public String apply(Grouping<Integer, Employee> group) {
- return String.format(Locale.ROOT, "%s: %s", group.getKey(),
- stringJoin("+", group.select(new Function1<Employee, String>() {
- public String apply(Employee element) {
- return element.name;
- }
- })));
- }
- })
+ .select(group ->
+ String.format(Locale.ROOT, "%s: %s", group.getKey(),
+ stringJoin("+", group.select(element -> element.name))))
.toList()
.toString();
- assertEquals(
- "[10: Fred+Eric+Janet, 30: Bill]",
- s);
+ assertThat(s, is("[10: Fred+Eric+Janet, 30: Bill]"));
}
@Test public void testGroupByWithKeySelectorAndComparer() {
@@ -2188,38 +1873,24 @@ public class Linq4jTest {
return 0;
}
})
- .select(new Function1<Grouping<Integer, Employee>, String>() {
- public String apply(Grouping<Integer, Employee> group) {
- return String.format(Locale.ROOT, "%s: %s", group.getKey(),
- stringJoin("+", group.select(new Function1<Employee, String>() {
- public String apply(Employee element) {
- return element.name;
- }
- })));
- }
- })
+ .select(group ->
+ String.format(Locale.ROOT, "%s: %s", group.getKey(),
+ stringJoin("+", group.select(element -> element.name))))
.toList()
.toString();
- assertEquals(
- "[10: Fred+Bill+Eric+Janet]",
- s);
+ assertThat(s, is("[10: Fred+Bill+Eric+Janet]"));
}
@Test public void testGroupByWithKeySelectorAndElementSelector() {
String s =
Linq4j.asEnumerable(emps)
.groupBy(EMP_DEPTNO_SELECTOR, EMP_NAME_SELECTOR)
- .select(new Function1<Grouping<Integer, String>, String>() {
- public String apply(Grouping<Integer, String> group) {
- return String.format(Locale.ROOT, "%s: %s", group.getKey(),
- stringJoin("+", group));
- }
- })
+ .select(group ->
+ String.format(Locale.ROOT, "%s: %s", group.getKey(),
+ stringJoin("+", group)))
.toList()
.toString();
- assertEquals(
- "[10: Fred+Eric+Janet, 30: Bill]",
- s);
+ assertThat(s, is("[10: Fred+Eric+Janet, 30: Bill]"));
}
/** Equivalent to {@link String}.join, but that method is only in JDK 1.8 and
@@ -2239,20 +1910,18 @@ public class Linq4jTest {
@Test public void testGroupByWithKeySelectorAndElementSelectorAndComparer() {
String s =
Linq4j.asEnumerable(emps)
- .groupBy(EMP_DEPTNO_SELECTOR, EMP_NAME_SELECTOR, new EqualityComparer<Integer>() {
- public boolean equal(Integer v1, Integer v2) {
- return true;
- }
- public int hashCode(Integer integer) {
- return 0;
- }
- })
- .select(new Function1<Grouping<Integer, String>, String>() {
- public String apply(Grouping<Integer, String> group) {
- return String.format(Locale.ROOT, "%s: %s", group.getKey(),
- stringJoin("+", group));
- }
- })
+ .groupBy(EMP_DEPTNO_SELECTOR, EMP_NAME_SELECTOR,
+ new EqualityComparer<Integer>() {
+ public boolean equal(Integer v1, Integer v2) {
+ return true;
+ }
+ public int hashCode(Integer integer) {
+ return 0;
+ }
+ })
+ .select(group ->
+ String.format(Locale.ROOT, "%s: %s", group.getKey(),
+ stringJoin("+", group)))
.toList()
.toString();
assertEquals(
@@ -2263,16 +1932,8 @@ public class Linq4jTest {
@Test public void testGroupByWithKeySelectorAndResultSelector() {
String s =
Linq4j.asEnumerable(emps)
- .groupBy(EMP_DEPTNO_SELECTOR, new Function2<Integer, Enumerable<Employee>, String>() {
- public String apply(Integer key, Enumerable<Employee> group) {
- return String.format(Locale.ROOT, "%s: %s", key,
- stringJoin("+", group.select(new Function1<Employee, String>() {
- public String apply(Employee element) {
- return element.name;
- }
- })));
- }
- })
+ .groupBy(EMP_DEPTNO_SELECTOR, (key, group) -> String.format(Locale.ROOT, "%s: %s", key,
+ stringJoin("+", group.select(element -> element.name))))
.toList()
.toString();
assertEquals(
@@ -2283,23 +1944,17 @@ public class Linq4jTest {
@Test public void testGroupByWithKeySelectorAndResultSelectorAndComparer() {
String s =
Linq4j.asEnumerable(emps)
- .groupBy(EMP_DEPTNO_SELECTOR, new Function2<Integer, Enumerable<Employee>, String>() {
- public String apply(Integer key, Enumerable<Employee> group) {
- return String.format(Locale.ROOT, "%s: %s", key,
- stringJoin("+", group.select(new Function1<Employee, String>() {
- public String apply(Employee element) {
- return element.name;
- }
- })));
- }
- }, new EqualityComparer<Integer>() {
- public boolean equal(Integer v1, Integer v2) {
- return true;
- }
- public int hashCode(Integer integer) {
- return 0;
- }
- })
+ .groupBy(EMP_DEPTNO_SELECTOR,
+ (key, group) -> String.format(Locale.ROOT, "%s: %s", key,
+ stringJoin("+", group.select(element -> element.name))),
+ new EqualityComparer<Integer>() {
+ public boolean equal(Integer v1, Integer v2) {
+ return true;
+ }
+ public int hashCode(Integer integer) {
+ return 0;
+ }
+ })
.toList()
.toString();
assertEquals(
@@ -2311,12 +1966,8 @@ public class Linq4jTest {
String s =
Linq4j.asEnumerable(emps)
.groupBy(EMP_DEPTNO_SELECTOR, EMP_NAME_SELECTOR,
- new Function2<Integer, Enumerable<String>, String>() {
- public String apply(Integer key, Enumerable<String> group) {
- return String.format(Locale.ROOT, "%s: %s", key,
- stringJoin("+", group));
- }
- })
+ (key, group) -> String.format(Locale.ROOT, "%s: %s", key,
+ stringJoin("+", group)))
.toList()
.toString();
assertEquals(
@@ -2328,12 +1979,8 @@ public class Linq4jTest {
String s =
Linq4j.asEnumerable(emps)
.groupBy(EMP_DEPTNO_SELECTOR, EMP_NAME_SELECTOR,
- new Function2<Integer, Enumerable<String>, String>() {
- public String apply(Integer key, Enumerable<String> group) {
- return String.format(Locale.ROOT, "%s: %s", key,
- stringJoin("+", group));
- }
- },
+ (key, group) -> String.format(Locale.ROOT, "%s: %s", key,
+ stringJoin("+", group)),
new EqualityComparer<Integer>() {
public boolean equal(Integer v1, Integer v2) {
return true;
@@ -2354,12 +2001,7 @@ public class Linq4jTest {
final Enumerable<String> e1 = Linq4j.asEnumerable(Arrays.asList("a", "b", "c"));
final Enumerable<String> e2 = Linq4j.asEnumerable(Arrays.asList("1", "2", "3"));
- final Enumerable<String> zipped = e1.zip(e2,
- new Function2<String, String, String>() {
- public String apply(String v0, String v1) {
- return v0 + v1;
- }
- });
+ final Enumerable<String> zipped = e1.zip(e2, (v0, v1) -> v0 + v1);
assertEquals(3, zipped.count());
zipped.enumerator().reset();
for (int i = 0; i < 3; i++) {
@@ -2371,12 +2013,7 @@ public class Linq4jTest {
final Enumerable<String> e1 = Linq4j.asEnumerable(Arrays.asList("a", "b"));
final Enumerable<String> e2 = Linq4j.asEnumerable(Arrays.asList("1", "2", "3"));
- final Function2<String, String, String> resultSelector =
- new Function2<String, String, String>() {
- public String apply(String v0, String v1) {
- return v0 + v1;
- }
- };
+ final Function2<String, String, String> resultSelector = (v0, v1) -> v0 + v1;
final Enumerable<String> zipped1 = e1.zip(e2, resultSelector);
assertEquals(2, zipped1.count());
@@ -2530,7 +2167,7 @@ public class Linq4jTest {
//CHECKSTYLE: IGNORE 1
public static final Department[] depts = {
new Department("Sales", 10, Arrays.asList(emps[0], emps[2], emps[3])),
- new Department("HR", 20, Collections.<Employee>emptyList()),
+ new Department("HR", 20, ImmutableList.of()),
new Department("Marketing", 30, ImmutableList.of(emps[1])),
};
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoEnumerator.java
----------------------------------------------------------------------
diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoEnumerator.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoEnumerator.java
index 054006b..80bc0e8 100644
--- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoEnumerator.java
+++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoEnumerator.java
@@ -79,20 +79,12 @@ class MongoEnumerator implements Enumerator<Object> {
}
static Function1<Document, Map> mapGetter() {
- return new Function1<Document, Map>() {
- public Map apply(Document a0) {
- return (Map) a0;
- }
- };
+ return a0 -> (Map) a0;
}
static Function1<Document, Object> singletonGetter(final String fieldName,
final Class fieldClass) {
- return new Function1<Document, Object>() {
- public Object apply(Document a0) {
- return convert(a0.get(fieldName), fieldClass);
- }
- };
+ return a0 -> convert(a0.get(fieldName), fieldClass);
}
/**
@@ -100,16 +92,14 @@ class MongoEnumerator implements Enumerator<Object> {
*/
static Function1<Document, Object[]> listGetter(
final List<Map.Entry<String, Class>> fields) {
- return new Function1<Document, Object[]>() {
- public Object[] apply(Document a0) {
- Object[] objects = new Object[fields.size()];
- for (int i = 0; i < fields.size(); i++) {
- final Map.Entry<String, Class> field = fields.get(i);
- final String name = field.getKey();
- objects[i] = convert(a0.get(name), field.getValue());
- }
- return objects;
+ return a0 -> {
+ Object[] objects = new Object[fields.size()];
+ for (int i = 0; i < fields.size(); i++) {
+ final Map.Entry<String, Class> field = fields.get(i);
+ final String name = field.getKey();
+ objects[i] = convert(a0.get(name), field.getValue());
}
+ return objects;
};
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSchema.java
----------------------------------------------------------------------
diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSchema.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSchema.java
index b7202ae..db00445 100644
--- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSchema.java
+++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSchema.java
@@ -20,9 +20,7 @@ import org.apache.calcite.schema.Table;
import org.apache.calcite.schema.impl.AbstractSchema;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
-
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoCredential;
@@ -31,6 +29,7 @@ import com.mongodb.client.MongoDatabase;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
/**
* Schema mapped onto a directory of MONGO files. Each table in the schema
@@ -67,7 +66,7 @@ public class MongoSchema extends AbstractSchema {
@VisibleForTesting
MongoSchema(MongoDatabase mongoDb) {
super();
- this.mongoDb = Preconditions.checkNotNull(mongoDb, "mongoDb");
+ this.mongoDb = Objects.requireNonNull(mongoDb, "mongoDb");
}
@Override protected Map<String, Table> getTableMap() {
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverter.java
----------------------------------------------------------------------
diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverter.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverter.java
index 579c484..53a8668 100644
--- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverter.java
+++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverter.java
@@ -39,7 +39,6 @@ import org.apache.calcite.runtime.Hook;
import org.apache.calcite.util.BuiltInMethod;
import org.apache.calcite.util.Pair;
-import com.google.common.base.Function;
import com.google.common.collect.Lists;
import java.util.AbstractList;
@@ -156,12 +155,7 @@ public class MongoToEnumerableConverter
/** E.g. {@code constantList("x", "y")} returns
* {@code {ConstantExpression("x"), ConstantExpression("y")}}. */
private static <T> List<Expression> constantList(List<T> values) {
- return Lists.transform(values,
- new Function<T, Expression>() {
- public Expression apply(T a0) {
- return Expressions.constant(a0);
- }
- });
+ return Lists.transform(values, Expressions::constant);
}
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java
----------------------------------------------------------------------
diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java
index fb2221e..54295d1 100644
--- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java
+++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoToEnumerableConverterRule.java
@@ -23,7 +23,7 @@ import org.apache.calcite.rel.convert.ConverterRule;
import org.apache.calcite.rel.core.RelFactories;
import org.apache.calcite.tools.RelBuilderFactory;
-import com.google.common.base.Predicates;
+import java.util.function.Predicate;
/**
* Rule to convert a relational expression from
@@ -39,7 +39,7 @@ public class MongoToEnumerableConverterRule extends ConverterRule {
* @param relBuilderFactory Builder for relational expressions
*/
public MongoToEnumerableConverterRule(RelBuilderFactory relBuilderFactory) {
- super(RelNode.class, Predicates.<RelNode>alwaysTrue(), MongoRel.CONVENTION,
+ super(RelNode.class, (Predicate<RelNode>) r -> true, MongoRel.CONVENTION,
EnumerableConvention.INSTANCE, relBuilderFactory,
"MongoToEnumerableConverterRule");
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java
----------------------------------------------------------------------
diff --git a/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java b/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java
index 4001a8d..b7d4acd 100644
--- a/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java
+++ b/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoAdapterTest.java
@@ -21,12 +21,9 @@ import org.apache.calcite.schema.SchemaFactory;
import org.apache.calcite.schema.SchemaPlus;
import org.apache.calcite.test.CalciteAssert;
import org.apache.calcite.test.MongoAssertions;
-
import org.apache.calcite.util.Bug;
import org.apache.calcite.util.Util;
-import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
import com.google.common.io.LineProcessor;
import com.google.common.io.Resources;
import com.mongodb.client.MongoCollection;
@@ -39,9 +36,7 @@ import org.bson.BsonDocument;
import org.bson.BsonInt32;
import org.bson.BsonString;
import org.bson.Document;
-
import org.hamcrest.CoreMatchers;
-
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.ClassRule;
@@ -52,7 +47,6 @@ import java.io.IOException;
import java.io.UncheckedIOException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
-import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.Instant;
import java.time.LocalDate;
@@ -60,6 +54,8 @@ import java.time.ZoneOffset;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
+import java.util.function.Consumer;
/**
* Testing mongo adapter functionality. By default runs with
@@ -109,7 +105,7 @@ public class MongoAdapterTest implements SchemaFactory {
private static void populate(MongoCollection<Document> collection, URL resource)
throws IOException {
- Preconditions.checkNotNull(collection, "collection");
+ Objects.requireNonNull(collection, "collection");
if (collection.count() > 0) {
// delete any existing documents (run from a clean set)
@@ -146,7 +142,7 @@ public class MongoAdapterTest implements SchemaFactory {
}
private CalciteAssert.AssertThat assertModel(URL url) {
- Preconditions.checkNotNull(url, "url");
+ Objects.requireNonNull(url, "url");
try {
return assertModel(Resources.toString(url, StandardCharsets.UTF_8));
} catch (IOException e) {
@@ -724,18 +720,14 @@ public class MongoAdapterTest implements SchemaFactory {
@Test public void testCountViaInt() {
assertModel(MODEL)
.query("select count(*) from zips")
- .returns(
- new Function<ResultSet, Void>() {
- public Void apply(ResultSet input) {
- try {
- Assert.assertThat(input.next(), CoreMatchers.is(true));
- Assert.assertThat(input.getInt(1), CoreMatchers.is(ZIPS_SIZE));
- return null;
- } catch (SQLException e) {
- throw new RuntimeException(e);
- }
- }
- });
+ .returns(input -> {
+ try {
+ Assert.assertThat(input.next(), CoreMatchers.is(true));
+ Assert.assertThat(input.getInt(1), CoreMatchers.is(ZIPS_SIZE));
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ });
}
/**
@@ -745,17 +737,14 @@ public class MongoAdapterTest implements SchemaFactory {
* @param strings Expected expressions
* @return validation function
*/
- private static Function<List, Void> mongoChecker(final String... strings) {
- return new Function<List, Void>() {
- public Void apply(List actual) {
- Object[] actualArray =
- actual == null || actual.isEmpty()
- ? null
- : ((List) actual.get(0)).toArray();
- CalciteAssert.assertArrayEqual("expected MongoDB query not found",
- strings, actualArray);
- return null;
- }
+ private static Consumer<List> mongoChecker(final String... strings) {
+ return actual -> {
+ Object[] actualArray =
+ actual == null || actual.isEmpty()
+ ? null
+ : ((List) actual.get(0)).toArray();
+ CalciteAssert.assertArrayEqual("expected MongoDB query not found",
+ strings, actualArray);
};
}
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoDatabasePolicy.java
----------------------------------------------------------------------
diff --git a/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoDatabasePolicy.java b/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoDatabasePolicy.java
index 52a0715..f325360 100644
--- a/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoDatabasePolicy.java
+++ b/mongodb/src/test/java/org/apache/calcite/adapter/mongodb/MongoDatabasePolicy.java
@@ -19,14 +19,13 @@ package org.apache.calcite.adapter.mongodb;
import org.apache.calcite.test.MongoAssertions;
import com.github.fakemongo.Fongo;
-
-import com.google.common.base.Preconditions;
-
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.junit.rules.ExternalResource;
+import java.util.Objects;
+
/**
* Instantiates a new connection to Fongo (or Mongo) database depending on the
* current profile (unit or integration tests).
@@ -46,7 +45,7 @@ class MongoDatabasePolicy extends ExternalResource {
private final MongoClient client;
private MongoDatabasePolicy(MongoClient client) {
- this.client = Preconditions.checkNotNull(client, "client");
+ this.client = Objects.requireNonNull(client, "client");
this.database = client.getDatabase(DB_NAME);
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/mongodb/src/test/java/org/apache/calcite/test/MongoAssertions.java
----------------------------------------------------------------------
diff --git a/mongodb/src/test/java/org/apache/calcite/test/MongoAssertions.java b/mongodb/src/test/java/org/apache/calcite/test/MongoAssertions.java
index 67626c3..4ee63c8 100644
--- a/mongodb/src/test/java/org/apache/calcite/test/MongoAssertions.java
+++ b/mongodb/src/test/java/org/apache/calcite/test/MongoAssertions.java
@@ -18,15 +18,15 @@ package org.apache.calcite.test;
import org.apache.calcite.util.Util;
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import java.util.function.Consumer;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
@@ -47,29 +47,26 @@ public class MongoAssertions {
* @param lines Expected expressions
* @return validation function
*/
- public static Function<ResultSet, Void> checkResultUnordered(
+ public static Consumer<ResultSet> checkResultUnordered(
final String... lines) {
- return new Function<ResultSet, Void>() {
- public Void apply(ResultSet resultSet) {
- try {
- final List<String> expectedList =
- Ordering.natural().immutableSortedCopy(Arrays.asList(lines));
+ return resultSet -> {
+ try {
+ final List<String> expectedList =
+ Ordering.natural().immutableSortedCopy(Arrays.asList(lines));
- final List<String> actualList = Lists.newArrayList();
- CalciteAssert.toStringList(resultSet, actualList);
- for (int i = 0; i < actualList.size(); i++) {
- String s = actualList.get(i);
- actualList.set(i,
- s.replaceAll("\\.0;", ";").replaceAll("\\.0$", ""));
- }
- Collections.sort(actualList);
-
- assertThat(Ordering.natural().immutableSortedCopy(actualList),
- equalTo(expectedList));
- return null;
- } catch (SQLException e) {
- throw new RuntimeException(e);
+ final List<String> actualList = new ArrayList<>();
+ CalciteAssert.toStringList(resultSet, actualList);
+ for (int i = 0; i < actualList.size(); i++) {
+ String s = actualList.get(i);
+ actualList.set(i,
+ s.replaceAll("\\.0;", ";").replaceAll("\\.0$", ""));
}
+ Collections.sort(actualList);
+
+ assertThat(Ordering.natural().immutableSortedCopy(actualList),
+ equalTo(expectedList));
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
}
};
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/pig/src/main/java/org/apache/calcite/adapter/pig/PigAggregate.java
----------------------------------------------------------------------
diff --git a/pig/src/main/java/org/apache/calcite/adapter/pig/PigAggregate.java b/pig/src/main/java/org/apache/calcite/adapter/pig/PigAggregate.java
index 6ccbfac..b367fb3 100644
--- a/pig/src/main/java/org/apache/calcite/adapter/pig/PigAggregate.java
+++ b/pig/src/main/java/org/apache/calcite/adapter/pig/PigAggregate.java
@@ -27,8 +27,6 @@ import org.apache.calcite.util.ImmutableBitSet;
import org.apache.pig.scripting.Pig;
-import com.google.common.base.Joiner;
-
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -95,8 +93,8 @@ public class PigAggregate extends Aggregate implements PigRel {
for (int fieldIndex : groupedFieldIndexes) {
groupedFieldNames.add(allFields.get(fieldIndex).getName());
}
- return relAlias + " = GROUP " + relAlias + " BY (" + Joiner.on(", ").join(groupedFieldNames)
- + ");";
+ return relAlias + " = GROUP " + relAlias + " BY ("
+ + String.join(", ", groupedFieldNames) + ");";
}
}
@@ -112,7 +110,7 @@ public class PigAggregate extends Aggregate implements PigRel {
final String generateCall = getPigGenerateCall(implementor);
final List<String> distinctCalls = getDistinctCalls(implementor);
return relAlias + " = FOREACH " + relAlias + " {\n"
- + Joiner.on(";\n").join(distinctCalls) + generateCall + "\n};";
+ + String.join(";\n", distinctCalls) + generateCall + "\n};";
}
private String getPigGenerateCall(Implementor implementor) {
@@ -130,7 +128,7 @@ public class PigAggregate extends Aggregate implements PigRel {
List<String> allFields = new ArrayList<>(groupFields.size() + pigAggCalls.size());
allFields.addAll(groupFields);
allFields.addAll(pigAggCalls);
- return " GENERATE " + Joiner.on(", ").join(allFields) + ';';
+ return " GENERATE " + String.join(", ", allFields) + ';';
}
private List<String> getPigAggregateCalls(Implementor implementor) {
@@ -145,7 +143,7 @@ public class PigAggregate extends Aggregate implements PigRel {
private String getPigAggregateCall(String relAlias, AggregateCall aggCall) {
final PigAggFunction aggFunc = toPigAggFunc(aggCall);
final String alias = aggCall.getName();
- final String fields = Joiner.on(", ").join(getArgNames(relAlias, aggCall));
+ final String fields = String.join(", ", getArgNames(relAlias, aggCall));
return aggFunc.name() + "(" + fields + ") AS " + alias;
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/pig/src/main/java/org/apache/calcite/adapter/pig/PigFilter.java
----------------------------------------------------------------------
diff --git a/pig/src/main/java/org/apache/calcite/adapter/pig/PigFilter.java b/pig/src/main/java/org/apache/calcite/adapter/pig/PigFilter.java
index 63cc1ea..f3023f6 100644
--- a/pig/src/main/java/org/apache/calcite/adapter/pig/PigFilter.java
+++ b/pig/src/main/java/org/apache/calcite/adapter/pig/PigFilter.java
@@ -27,7 +27,6 @@ import org.apache.calcite.rex.RexInputRef;
import org.apache.calcite.rex.RexLiteral;
import org.apache.calcite.rex.RexNode;
-import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import java.util.ArrayList;
@@ -77,7 +76,8 @@ public class PigFilter extends Filter implements PigRel {
for (RexNode node : RelOptUtil.conjunctions(condition)) {
filterConditionsConjunction.add(getSingleFilterCondition(implementor, node));
}
- String allFilterConditions = Joiner.on(" AND ").join(filterConditionsConjunction);
+ String allFilterConditions =
+ String.join(" AND ", filterConditionsConjunction);
return relationAlias + " = FILTER " + relationAlias + " BY " + allFilterConditions + ';';
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/pig/src/main/java/org/apache/calcite/adapter/pig/PigRel.java
----------------------------------------------------------------------
diff --git a/pig/src/main/java/org/apache/calcite/adapter/pig/PigRel.java b/pig/src/main/java/org/apache/calcite/adapter/pig/PigRel.java
index 868d3d5..a9073a7 100644
--- a/pig/src/main/java/org/apache/calcite/adapter/pig/PigRel.java
+++ b/pig/src/main/java/org/apache/calcite/adapter/pig/PigRel.java
@@ -19,8 +19,6 @@ package org.apache.calcite.adapter.pig;
import org.apache.calcite.plan.Convention;
import org.apache.calcite.rel.RelNode;
-import com.google.common.base.Joiner;
-
import java.util.ArrayList;
import java.util.List;
@@ -83,7 +81,7 @@ public interface PigRel extends RelNode {
}
public String getScript() {
- return Joiner.on("\n").join(statements);
+ return String.join("\n", statements);
}
}
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java
----------------------------------------------------------------------
diff --git a/pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java b/pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java
index 95c3536..57fbdd9 100644
--- a/pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java
+++ b/pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java
@@ -29,8 +29,6 @@ import org.apache.calcite.rel.type.RelDataTypeField;
import org.apache.pig.data.DataType;
-import com.google.common.base.Joiner;
-
import java.util.ArrayList;
import java.util.List;
@@ -65,7 +63,7 @@ public class PigTableScan extends TableScan implements PigRel {
for (RelDataTypeField f : getTable().getRowType().getFieldList()) {
fieldNamesAndTypes.add(getConcatenatedFieldNameAndTypeForPigSchema(implementor, f));
}
- return Joiner.on(", ").join(fieldNamesAndTypes);
+ return String.join(", ", fieldNamesAndTypes);
}
private String getConcatenatedFieldNameAndTypeForPigSchema(Implementor implementor,
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/pig/src/test/java/org/apache/calcite/test/PigAdapterTest.java
----------------------------------------------------------------------
diff --git a/pig/src/test/java/org/apache/calcite/test/PigAdapterTest.java b/pig/src/test/java/org/apache/calcite/test/PigAdapterTest.java
index 77ebb18..0bc4544 100644
--- a/pig/src/test/java/org/apache/calcite/test/PigAdapterTest.java
+++ b/pig/src/test/java/org/apache/calcite/test/PigAdapterTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.calcite.test;
-import com.google.common.base.Function;
import com.google.common.collect.ImmutableMap;
import org.junit.Test;
@@ -24,6 +23,7 @@ import org.junit.Test;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.List;
+import java.util.function.Consumer;
import static org.junit.Assert.assertEquals;
@@ -170,17 +170,14 @@ public class PigAdapterTest extends AbstractPigTest {
/** Returns a function that checks that a particular Pig Latin scriptis
* generated to implement a query. */
@SuppressWarnings("rawtypes")
- private static Function<List, Void> pigScriptChecker(final String... strings) {
- return new Function<List, Void>() {
- public Void apply(List actual) {
- String actualArray =
- actual == null || actual.isEmpty()
- ? null
- : (String) actual.get(0);
- assertEquals("expected Pig script not found",
- strings[0], actualArray);
- return null;
- }
+ private static Consumer<List> pigScriptChecker(final String... strings) {
+ return actual -> {
+ String actualArray =
+ actual == null || actual.isEmpty()
+ ? null
+ : (String) actual.get(0);
+ assertEquals("expected Pig script not found",
+ strings[0], actualArray);
};
}
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/piglet/src/main/java/org/apache/calcite/piglet/Ast.java
----------------------------------------------------------------------
diff --git a/piglet/src/main/java/org/apache/calcite/piglet/Ast.java b/piglet/src/main/java/org/apache/calcite/piglet/Ast.java
index 5a06ec1..22b1e21 100644
--- a/piglet/src/main/java/org/apache/calcite/piglet/Ast.java
+++ b/piglet/src/main/java/org/apache/calcite/piglet/Ast.java
@@ -23,11 +23,11 @@ import org.apache.calcite.sql.parser.SqlParserUtil;
import org.apache.calcite.util.Pair;
import org.apache.calcite.util.Util;
-import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.math.BigDecimal;
import java.util.List;
+import java.util.Objects;
/** Abstract syntax tree.
*
@@ -136,8 +136,8 @@ public class Ast {
public final SqlParserPos pos;
protected Node(SqlParserPos pos, Op op) {
- this.op = Preconditions.checkNotNull(op);
- this.pos = Preconditions.checkNotNull(pos);
+ this.op = Objects.requireNonNull(op);
+ this.pos = Objects.requireNonNull(pos);
}
}
@@ -154,7 +154,7 @@ public class Ast {
protected Assignment(SqlParserPos pos, Op op, Identifier target) {
super(pos, op);
- this.target = Preconditions.checkNotNull(target);
+ this.target = Objects.requireNonNull(target);
}
}
@@ -164,7 +164,7 @@ public class Ast {
public LoadStmt(SqlParserPos pos, Identifier target, Literal name) {
super(pos, Op.LOAD, target);
- this.name = Preconditions.checkNotNull(name);
+ this.name = Objects.requireNonNull(name);
}
}
@@ -333,7 +333,7 @@ public class Ast {
public DumpStmt(SqlParserPos pos, Identifier relation) {
super(pos, Op.DUMP);
- this.relation = Preconditions.checkNotNull(relation);
+ this.relation = Objects.requireNonNull(relation);
}
}
@@ -343,7 +343,7 @@ public class Ast {
public DescribeStmt(SqlParserPos pos, Identifier relation) {
super(pos, Op.DESCRIBE);
- this.relation = Preconditions.checkNotNull(relation);
+ this.relation = Objects.requireNonNull(relation);
}
}
@@ -353,7 +353,7 @@ public class Ast {
public Literal(SqlParserPos pos, Object value) {
super(pos, Op.LITERAL);
- this.value = Preconditions.checkNotNull(value);
+ this.value = Objects.requireNonNull(value);
}
public static NumericLiteral createExactNumeric(String s,
@@ -408,7 +408,7 @@ public class Ast {
public Identifier(SqlParserPos pos, String value) {
super(pos, Op.IDENTIFIER);
- this.value = Preconditions.checkNotNull(value);
+ this.value = Objects.requireNonNull(value);
}
public boolean isStar() {
@@ -466,8 +466,8 @@ public class Ast {
public FieldSchema(SqlParserPos pos, Identifier id, Type type) {
super(pos, Op.FIELD_SCHEMA);
- this.id = Preconditions.checkNotNull(id);
- this.type = Preconditions.checkNotNull(type);
+ this.id = Objects.requireNonNull(id);
+ this.type = Objects.requireNonNull(type);
}
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/piglet/src/main/javacc/PigletParser.jj
----------------------------------------------------------------------
diff --git a/piglet/src/main/javacc/PigletParser.jj b/piglet/src/main/javacc/PigletParser.jj
index d11b819..ae244d9 100644
--- a/piglet/src/main/javacc/PigletParser.jj
+++ b/piglet/src/main/javacc/PigletParser.jj
@@ -35,10 +35,10 @@ import org.apache.calcite.util.trace.CalciteTrace;
import org.apache.calcite.util.Pair;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
import org.slf4j.Logger;
+import java.util.ArrayList;
import java.util.List;
import static org.apache.calcite.util.Static.RESOURCE;
@@ -161,7 +161,7 @@ JAVACODE SqlParseException convertException(Throwable ex) {
*/
Program stmtListEof() :
{
- final List<Stmt> list = Lists.newArrayList();
+ final List<Stmt> list = new ArrayList<Stmt>();
Stmt s;
}
{
@@ -326,7 +326,7 @@ Assignment foreachStmt(final Identifier target) :
List<Stmt> nestedStmtList() :
{
Assignment s;
- final List<Stmt> list = Lists.newArrayList();
+ final List<Stmt> list = new ArrayList<Stmt>();
}
{
s = nestedStmt() {
@@ -388,7 +388,8 @@ OrderStmt orderStmt(final Identifier target) :
List<Pair<Identifier, Direction>> orderFieldCommaList() :
{
- final List<Pair<Identifier, Direction>> list = Lists.newArrayList();
+ final List<Pair<Identifier, Direction>> list =
+ new ArrayList<Pair<Identifier, Direction>>();
Pair<Identifier, Direction> field;
}
{
@@ -730,7 +731,7 @@ Node atom() :
/** A non-empty list of expressions. */
List<Node> expCommaList() :
{
- final List<Node> list = Lists.newArrayList();
+ final List<Node> list = new ArrayList<Node>();
Node e;
}
{
@@ -1045,7 +1046,7 @@ String commonNonReservedKeyWord() :
*****************************************/
TOKEN_MGR_DECLS : {
- List<Integer> lexicalStateStack = Lists.newArrayList();
+ List<Integer> lexicalStateStack = new ArrayList<Integer>();
void pushState() {
lexicalStateStack.add(curLexState);
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/piglet/src/test/java/org/apache/calcite/test/Fluent.java
----------------------------------------------------------------------
diff --git a/piglet/src/test/java/org/apache/calcite/test/Fluent.java b/piglet/src/test/java/org/apache/calcite/test/Fluent.java
index 7afd781..fc65939 100644
--- a/piglet/src/test/java/org/apache/calcite/test/Fluent.java
+++ b/piglet/src/test/java/org/apache/calcite/test/Fluent.java
@@ -24,7 +24,6 @@ import org.apache.calcite.plan.RelOptUtil;
import org.apache.calcite.tools.PigRelBuilder;
import org.apache.calcite.util.Util;
-import com.google.common.base.Function;
import com.google.common.collect.Ordering;
import java.io.StringReader;
@@ -32,6 +31,7 @@ import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.function.Function;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@@ -59,39 +59,33 @@ class Fluent {
public Fluent returns(final String out)
throws ParseException {
- return returns(
- new Function<String, Void>() {
- public Void apply(String s) {
- assertThat(s, is(out));
- return null;
- }
- });
+ return returns(s -> {
+ assertThat(s, is(out));
+ return null;
+ });
}
public Fluent returnsUnordered(String... lines) throws ParseException {
final List<String> expectedLines =
Ordering.natural().immutableSortedCopy(Arrays.asList(lines));
- return returns(
- new Function<String, Void>() {
- public Void apply(String s) {
- final List<String> actualLines = new ArrayList<>();
- for (;;) {
- int i = s.indexOf('\n');
- if (i < 0) {
- if (!s.isEmpty()) {
- actualLines.add(s);
- }
- break;
- } else {
- actualLines.add(s.substring(0, i));
- s = s.substring(i + 1);
- }
- }
- assertThat(Ordering.natural().sortedCopy(actualLines),
- is(expectedLines));
- return null;
+ return returns(s -> {
+ final List<String> actualLines = new ArrayList<>();
+ for (;;) {
+ int i = s.indexOf('\n');
+ if (i < 0) {
+ if (!s.isEmpty()) {
+ actualLines.add(s);
}
- });
+ break;
+ } else {
+ actualLines.add(s.substring(0, i));
+ s = s.substring(i + 1);
+ }
+ }
+ assertThat(Ordering.natural().sortedCopy(actualLines),
+ is(expectedLines));
+ return null;
+ });
}
public Fluent returns(Function<String, Void> checker) throws ParseException {
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/plus/src/main/java/org/apache/calcite/adapter/os/DuTableFunction.java
----------------------------------------------------------------------
diff --git a/plus/src/main/java/org/apache/calcite/adapter/os/DuTableFunction.java b/plus/src/main/java/org/apache/calcite/adapter/os/DuTableFunction.java
index 336f5fa..ede8c97 100644
--- a/plus/src/main/java/org/apache/calcite/adapter/os/DuTableFunction.java
+++ b/plus/src/main/java/org/apache/calcite/adapter/os/DuTableFunction.java
@@ -19,7 +19,6 @@ package org.apache.calcite.adapter.os;
import org.apache.calcite.DataContext;
import org.apache.calcite.config.CalciteConnectionConfig;
import org.apache.calcite.linq4j.Enumerable;
-import org.apache.calcite.linq4j.function.Function1;
import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rel.type.RelDataTypeFactory;
import org.apache.calcite.schema.ScannableTable;
@@ -44,11 +43,9 @@ public class DuTableFunction {
return new ScannableTable() {
public Enumerable<Object[]> scan(DataContext root) {
return Processes.processLines("du", "-ak")
- .select(new Function1<String, Object[]>() {
- public Object[] apply(String a0) {
- final String[] fields = a0.split("\t");
- return new Object[] {Long.valueOf(fields[0]), fields[1]};
- }
+ .select(a0 -> {
+ final String[] fields = a0.split("\t");
+ return new Object[] {Long.valueOf(fields[0]), fields[1]};
});
}
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/plus/src/main/java/org/apache/calcite/adapter/os/Processes.java
----------------------------------------------------------------------
diff --git a/plus/src/main/java/org/apache/calcite/adapter/os/Processes.java b/plus/src/main/java/org/apache/calcite/adapter/os/Processes.java
index 8caa7c3..18aa514 100644
--- a/plus/src/main/java/org/apache/calcite/adapter/os/Processes.java
+++ b/plus/src/main/java/org/apache/calcite/adapter/os/Processes.java
@@ -20,8 +20,6 @@ import org.apache.calcite.linq4j.AbstractEnumerable;
import org.apache.calcite.linq4j.Enumerable;
import org.apache.calcite.linq4j.Enumerator;
-import com.google.common.base.Supplier;
-
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
@@ -29,6 +27,7 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
+import java.util.function.Supplier;
/**
* Utilities regarding operating system processes.
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java
----------------------------------------------------------------------
diff --git a/plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java b/plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java
index 6cdbfab..92da79f 100644
--- a/plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java
+++ b/plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java
@@ -20,8 +20,6 @@ import org.apache.calcite.linq4j.Enumerator;
import org.apache.calcite.linq4j.Linq4j;
import org.apache.calcite.util.JsonBuilder;
-import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
@@ -41,6 +39,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
/**
@@ -58,9 +57,9 @@ public class SqlShell {
SqlShell(InputStreamReader in, PrintWriter out,
PrintWriter err, String... args) {
this.args = ImmutableList.copyOf(args);
- this.in = Preconditions.checkNotNull(in);
- this.out = Preconditions.checkNotNull(out);
- this.err = Preconditions.checkNotNull(err);
+ this.in = Objects.requireNonNull(in);
+ this.out = Objects.requireNonNull(out);
+ this.err = Objects.requireNonNull(err);
}
private static String model() {
@@ -286,32 +285,30 @@ public class SqlShell {
out.println(",");
}
json.append(b, 0,
- Maps.asMap(fields, new Function<String, Object>() {
- public Object apply(String columnLabel) {
- try {
- final int i = fieldOrdinals.get(columnLabel);
- switch (m.getColumnType(i)) {
- case Types.BOOLEAN:
- final boolean b = r.getBoolean(i);
- return !b && r.wasNull() ? null : b;
- case Types.DECIMAL:
- case Types.FLOAT:
- case Types.REAL:
- case Types.DOUBLE:
- final double d = r.getDouble(i);
- return d == 0D && r.wasNull() ? null : d;
- case Types.BIGINT:
- case Types.INTEGER:
- case Types.SMALLINT:
- case Types.TINYINT:
- final long v = r.getLong(i);
- return v == 0L && r.wasNull() ? null : v;
- default:
- return r.getString(i);
- }
- } catch (SQLException e) {
- throw new RuntimeException(e);
+ Maps.asMap(fields, columnLabel -> {
+ try {
+ final int i1 = fieldOrdinals.get(columnLabel);
+ switch (m.getColumnType(i1)) {
+ case Types.BOOLEAN:
+ final boolean b1 = r.getBoolean(i1);
+ return !b1 && r.wasNull() ? null : b1;
+ case Types.DECIMAL:
+ case Types.FLOAT:
+ case Types.REAL:
+ case Types.DOUBLE:
+ final double d = r.getDouble(i1);
+ return d == 0D && r.wasNull() ? null : d;
+ case Types.BIGINT:
+ case Types.INTEGER:
+ case Types.SMALLINT:
+ case Types.TINYINT:
+ final long v = r.getLong(i1);
+ return v == 0L && r.wasNull() ? null : v;
+ default:
+ return r.getString(i1);
}
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
}
}));
out.append(b);
http://git-wip-us.apache.org/repos/asf/calcite/blob/d59b639d/plus/src/main/java/org/apache/calcite/adapter/tpcds/TpcdsSchema.java
----------------------------------------------------------------------
diff --git a/plus/src/main/java/org/apache/calcite/adapter/tpcds/TpcdsSchema.java b/plus/src/main/java/org/apache/calcite/adapter/tpcds/TpcdsSchema.java
index e18ba84..618324e 100644
--- a/plus/src/main/java/org/apache/calcite/adapter/tpcds/TpcdsSchema.java
+++ b/plus/src/main/java/org/apache/calcite/adapter/tpcds/TpcdsSchema.java
@@ -30,8 +30,8 @@ import org.apache.calcite.schema.Table;
import org.apache.calcite.schema.impl.AbstractSchema;
import org.apache.calcite.schema.impl.AbstractTableQueryable;
import org.apache.calcite.util.Bug;
-import org.apache.calcite.util.ImmutableBitSet;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import net.hydromatic.tpcds.TpcdsColumn;
@@ -39,7 +39,6 @@ import net.hydromatic.tpcds.TpcdsEntity;
import net.hydromatic.tpcds.TpcdsTable;
import java.sql.Date;
-import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -115,7 +114,7 @@ public class TpcdsSchema extends AbstractSchema {
Bug.upgrade("add row count estimate to TpcdsTable, and use it");
Integer rowCount = TABLE_ROW_COUNTS.get(tpcdsTable.name);
assert rowCount != null : tpcdsTable.name;
- return Statistics.of(rowCount, Collections.<ImmutableBitSet>emptyList());
+ return Statistics.of(rowCount, ImmutableList.of());
}
public <T> Queryable<T> asQueryable(final QueryProvider queryProvider,