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,
