http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/fun/SqlTimestampDiffFunction.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/fun/SqlTimestampDiffFunction.java b/core/src/main/java/org/apache/calcite/sql/fun/SqlTimestampDiffFunction.java index d4aefa0..1a95317 100644 --- a/core/src/main/java/org/apache/calcite/sql/fun/SqlTimestampDiffFunction.java +++ b/core/src/main/java/org/apache/calcite/sql/fun/SqlTimestampDiffFunction.java @@ -17,12 +17,10 @@ package org.apache.calcite.sql.fun; import org.apache.calcite.avatica.util.TimeUnit; -import org.apache.calcite.rel.type.RelDataType; import org.apache.calcite.rel.type.RelDataTypeFactory; import org.apache.calcite.sql.SqlFunction; import org.apache.calcite.sql.SqlFunctionCategory; import org.apache.calcite.sql.SqlKind; -import org.apache.calcite.sql.SqlOperatorBinding; import org.apache.calcite.sql.type.OperandTypes; import org.apache.calcite.sql.type.SqlReturnTypeInference; import org.apache.calcite.sql.type.SqlTypeFamily; @@ -58,18 +56,16 @@ import org.apache.calcite.sql.type.SqlTypeName; class SqlTimestampDiffFunction extends SqlFunction { /** Creates a SqlTimestampDiffFunction. */ private static final SqlReturnTypeInference RETURN_TYPE_INFERENCE = - new SqlReturnTypeInference() { - public RelDataType inferReturnType(SqlOperatorBinding opBinding) { - final RelDataTypeFactory typeFactory = opBinding.getTypeFactory(); - SqlTypeName sqlTypeName = - opBinding.getOperandLiteralValue(0, TimeUnit.class) == TimeUnit.NANOSECOND - ? SqlTypeName.BIGINT - : SqlTypeName.INTEGER; - return typeFactory.createTypeWithNullability( - typeFactory.createSqlType(sqlTypeName), - opBinding.getOperandType(1).isNullable() - || opBinding.getOperandType(2).isNullable()); - } + opBinding -> { + final RelDataTypeFactory typeFactory = opBinding.getTypeFactory(); + SqlTypeName sqlTypeName = + opBinding.getOperandLiteralValue(0, TimeUnit.class) == TimeUnit.NANOSECOND + ? SqlTypeName.BIGINT + : SqlTypeName.INTEGER; + return typeFactory.createTypeWithNullability( + typeFactory.createSqlType(sqlTypeName), + opBinding.getOperandType(1).isNullable() + || opBinding.getOperandType(2).isNullable()); }; SqlTimestampDiffFunction() {
http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java b/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java index 0785909..12a8dcc 100644 --- a/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java +++ b/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java @@ -570,20 +570,20 @@ public abstract class SqlAbstractParserImpl { * Default implementation of the {@link Metadata} interface. */ public static class MetadataImpl implements Metadata { - private final Set<String> reservedFunctionNames = new HashSet<String>(); - private final Set<String> contextVariableNames = new HashSet<String>(); - private final Set<String> nonReservedKeyWordSet = new HashSet<String>(); + private final Set<String> reservedFunctionNames = new HashSet<>(); + private final Set<String> contextVariableNames = new HashSet<>(); + private final Set<String> nonReservedKeyWordSet = new HashSet<>(); /** * Set of all tokens. */ - private final SortedSet<String> tokenSet = new TreeSet<String>(); + private final SortedSet<String> tokenSet = new TreeSet<>(); /** * Immutable list of all tokens, in alphabetical order. */ private final List<String> tokenList; - private final Set<String> reservedWords = new HashSet<String>(); + private final Set<String> reservedWords = new HashSet<>(); private final String sql92ReservedWords; /** @@ -597,7 +597,7 @@ public abstract class SqlAbstractParserImpl { initList(sqlParser, nonReservedKeyWordSet, "NonReservedKeyWord"); tokenList = ImmutableList.copyOf(tokenSet); sql92ReservedWords = constructSql92ReservedWordList(); - Set<String> reservedWordSet = new TreeSet<String>(); + Set<String> reservedWordSet = new TreeSet<>(); reservedWordSet.addAll(tokenSet); reservedWordSet.removeAll(nonReservedKeyWordSet); reservedWords.addAll(reservedWordSet); @@ -670,7 +670,7 @@ public abstract class SqlAbstractParserImpl { */ private String constructSql92ReservedWordList() { StringBuilder sb = new StringBuilder(); - TreeSet<String> jdbcReservedSet = new TreeSet<String>(); + TreeSet<String> jdbcReservedSet = new TreeSet<>(); jdbcReservedSet.addAll(tokenSet); jdbcReservedSet.removeAll(SQL_92_RESERVED_WORD_SET); jdbcReservedSet.removeAll(nonReservedKeyWordSet); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/parser/SqlParseException.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/parser/SqlParseException.java b/core/src/main/java/org/apache/calcite/sql/parser/SqlParseException.java index 9900200..09dc441 100644 --- a/core/src/main/java/org/apache/calcite/sql/parser/SqlParseException.java +++ b/core/src/main/java/org/apache/calcite/sql/parser/SqlParseException.java @@ -123,7 +123,7 @@ public class SqlParseException extends Exception for (int[] expectedTokenSequence : expectedTokenSequences) { maxLength = Math.max(expectedTokenSequence.length, maxLength); } - final Set<String> set = new TreeSet<String>(); + final Set<String> set = new TreeSet<>(); for (int[] expectedTokenSequence : expectedTokenSequences) { if (expectedTokenSequence.length == maxLength) { set.add( http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/type/SqlTypeUtil.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/type/SqlTypeUtil.java b/core/src/main/java/org/apache/calcite/sql/type/SqlTypeUtil.java index c774c61..dea7d8c 100644 --- a/core/src/main/java/org/apache/calcite/sql/type/SqlTypeUtil.java +++ b/core/src/main/java/org/apache/calcite/sql/type/SqlTypeUtil.java @@ -144,7 +144,7 @@ public abstract class SqlTypeUtil { List<SqlNode> operands) { // NOTE: Do not use an AbstractList. Don't want to be lazy. We want // errors. - List<RelDataType> types = new ArrayList<RelDataType>(); + List<RelDataType> types = new ArrayList<>(); for (SqlNode operand : operands) { types.add(validator.deriveType(scope, operand)); } @@ -885,7 +885,7 @@ public abstract class SqlTypeUtil { if (!recordType.isStruct()) { return recordType; } - List<RelDataTypeField> fieldList = new ArrayList<RelDataTypeField>(); + List<RelDataTypeField> fieldList = new ArrayList<>(); boolean nested = flattenFields( typeFactory, @@ -895,8 +895,8 @@ public abstract class SqlTypeUtil { if (!nested) { return recordType; } - List<RelDataType> types = new ArrayList<RelDataType>(); - List<String> fieldNames = new ArrayList<String>(); + List<RelDataType> types = new ArrayList<>(); + List<String> fieldNames = new ArrayList<>(); int i = -1; for (RelDataTypeField field : fieldList) { ++i; http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/type/TableFunctionReturnTypeInference.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/type/TableFunctionReturnTypeInference.java b/core/src/main/java/org/apache/calcite/sql/type/TableFunctionReturnTypeInference.java index 7702c03..4201349 100644 --- a/core/src/main/java/org/apache/calcite/sql/type/TableFunctionReturnTypeInference.java +++ b/core/src/main/java/org/apache/calcite/sql/type/TableFunctionReturnTypeInference.java @@ -63,11 +63,11 @@ public class TableFunctionReturnTypeInference public RelDataType inferReturnType( SqlOperatorBinding opBinding) { - columnMappings = new HashSet<RelColumnMapping>(); + columnMappings = new HashSet<>(); RelDataType unexpandedOutputType = protoType.apply(opBinding.getTypeFactory()); - List<RelDataType> expandedOutputTypes = new ArrayList<RelDataType>(); - List<String> expandedFieldNames = new ArrayList<String>(); + List<RelDataType> expandedOutputTypes = new ArrayList<>(); + List<String> expandedFieldNames = new ArrayList<>(); for (RelDataTypeField field : unexpandedOutputType.getFieldList()) { RelDataType fieldType = field.getType(); String fieldName = field.getName(); @@ -96,7 +96,7 @@ public class TableFunctionReturnTypeInference // Translate to actual argument type. boolean isRowOp = false; - List<String> columnNames = new ArrayList<String>(); + List<String> columnNames = new ArrayList<>(); RelDataType cursorType = opBinding.getCursorOperand(paramOrdinal); if (cursorType == null) { isRowOp = true; http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/util/ListSqlOperatorTable.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/util/ListSqlOperatorTable.java b/core/src/main/java/org/apache/calcite/sql/util/ListSqlOperatorTable.java index fe0aea0..2b36f36 100644 --- a/core/src/main/java/org/apache/calcite/sql/util/ListSqlOperatorTable.java +++ b/core/src/main/java/org/apache/calcite/sql/util/ListSqlOperatorTable.java @@ -38,7 +38,7 @@ public class ListSqlOperatorTable implements SqlOperatorTable { //~ Constructors ----------------------------------------------------------- public ListSqlOperatorTable() { - this(new ArrayList<SqlOperator>()); + this(new ArrayList<>()); } public ListSqlOperatorTable(List<SqlOperator> operatorList) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/util/SqlShuttle.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/util/SqlShuttle.java b/core/src/main/java/org/apache/calcite/sql/util/SqlShuttle.java index 064883b..8d4f8a3 100644 --- a/core/src/main/java/org/apache/calcite/sql/util/SqlShuttle.java +++ b/core/src/main/java/org/apache/calcite/sql/util/SqlShuttle.java @@ -71,7 +71,7 @@ public class SqlShuttle extends SqlBasicVisitor<SqlNode> { boolean update = false; List<SqlNode> exprs = nodeList.getList(); int exprCount = exprs.size(); - List<SqlNode> newList = new ArrayList<SqlNode>(exprCount); + List<SqlNode> newList = new ArrayList<>(exprCount); for (SqlNode operand : exprs) { SqlNode clonedOperand; if (operand == null) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/validate/AliasNamespace.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/validate/AliasNamespace.java b/core/src/main/java/org/apache/calcite/sql/validate/AliasNamespace.java index a2192c9..c7afbca 100644 --- a/core/src/main/java/org/apache/calcite/sql/validate/AliasNamespace.java +++ b/core/src/main/java/org/apache/calcite/sql/validate/AliasNamespace.java @@ -64,7 +64,7 @@ public class AliasNamespace extends AbstractNamespace { //~ Methods ---------------------------------------------------------------- protected RelDataType validateImpl(RelDataType targetRowType) { - final List<String> nameList = new ArrayList<String>(); + final List<String> nameList = new ArrayList<>(); final List<SqlNode> operands = call.getOperandList(); final SqlValidatorNamespace childNs = validator.getNamespace(operands.get(0)); @@ -87,7 +87,7 @@ public class AliasNamespace extends AbstractNamespace { RESOURCE.aliasListDegree(rowType.getFieldCount(), getString(rowType), nameList.size())); } - final List<RelDataType> typeList = new ArrayList<RelDataType>(); + final List<RelDataType> typeList = new ArrayList<>(); for (RelDataTypeField field : rowType.getFieldList()) { typeList.add(field.getType()); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/validate/SqlNameMatchers.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/validate/SqlNameMatchers.java b/core/src/main/java/org/apache/calcite/sql/validate/SqlNameMatchers.java index 99d85ad..d4e21fa 100644 --- a/core/src/main/java/org/apache/calcite/sql/validate/SqlNameMatchers.java +++ b/core/src/main/java/org/apache/calcite/sql/validate/SqlNameMatchers.java @@ -134,7 +134,7 @@ public class SqlNameMatchers { public Set<String> createSet() { return isCaseSensitive() - ? new LinkedHashSet<String>() + ? new LinkedHashSet<>() : new TreeSet<>(String.CASE_INSENSITIVE_ORDER); } } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java index 70b8d97..f7ce4d6 100644 --- a/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java +++ b/core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java @@ -4908,7 +4908,7 @@ public class SqlValidatorImpl implements SqlValidatorWithHints { if (orderBy != null) { for (SqlNode node : orderBy) { node.validate(this, scope); - SqlIdentifier identifier = null; + SqlIdentifier identifier; if (node instanceof SqlBasicCall) { identifier = (SqlIdentifier) ((SqlBasicCall) node).getOperands()[0]; } else { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java b/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java index 9deb7e0..c347b64 100644 --- a/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java +++ b/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java @@ -1121,6 +1121,7 @@ public class RelDecorrelator implements ReflectiveVisitor { int oldLeftFieldCount = oldLeft.getRowType().getFieldCount(); int oldRightFieldCount = oldRight.getRowType().getFieldCount(); + //noinspection AssertWithSideEffects assert rel.getRowType().getFieldCount() == oldLeftFieldCount + oldRightFieldCount; @@ -1180,6 +1181,7 @@ public class RelDecorrelator implements ReflectiveVisitor { int newLeftFieldCount = leftFrame.r.getRowType().getFieldCount(); int oldRightFieldCount = oldRight.getRowType().getFieldCount(); + //noinspection AssertWithSideEffects assert rel.getRowType().getFieldCount() == oldLeftFieldCount + oldRightFieldCount; http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java b/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java index 2f12223..dff1d4f 100644 --- a/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java +++ b/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java @@ -2217,7 +2217,7 @@ public class SqlToRelConverter { SqlIdentifier left = (SqlIdentifier) operands.get(0); patternVarsSet.add(left.getSimple()); SqlNodeList rights = (SqlNodeList) operands.get(1); - final TreeSet<String> list = new TreeSet<String>(); + final TreeSet<String> list = new TreeSet<>(); for (SqlNode right : rights) { assert right instanceof SqlIdentifier; list.add(((SqlIdentifier) right).getSimple()); @@ -4986,7 +4986,7 @@ public class SqlToRelConverter { int filterArg = -1; final List<RelDataType> argTypes = call.getOperator() instanceof SqlCountAggFunction - ? new ArrayList<RelDataType>(call.getOperandList().size()) + ? new ArrayList<>(call.getOperandList().size()) : null; try { // switch out of agg mode http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/BarfingInvocationHandler.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/BarfingInvocationHandler.java b/core/src/main/java/org/apache/calcite/util/BarfingInvocationHandler.java index 94c50a6..c472b0d 100644 --- a/core/src/main/java/org/apache/calcite/util/BarfingInvocationHandler.java +++ b/core/src/main/java/org/apache/calcite/util/BarfingInvocationHandler.java @@ -44,15 +44,13 @@ public class BarfingInvocationHandler implements InvocationHandler { Method method, Object[] args) throws Throwable { Class clazz = getClass(); - Method matchingMethod = null; + Method matchingMethod; try { matchingMethod = clazz.getMethod( method.getName(), method.getParameterTypes()); - } catch (NoSuchMethodException e) { - throw noMethod(method); - } catch (SecurityException e) { + } catch (NoSuchMethodException | SecurityException e) { throw noMethod(method); } if (matchingMethod.getReturnType() != method.getReturnType()) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/Benchmark.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/Benchmark.java b/core/src/main/java/org/apache/calcite/util/Benchmark.java index 513123e..58edafb 100644 --- a/core/src/main/java/org/apache/calcite/util/Benchmark.java +++ b/core/src/main/java/org/apache/calcite/util/Benchmark.java @@ -74,7 +74,7 @@ public class Benchmark { */ public static class Statistician { private final String desc; - private final List<Long> durations = new ArrayList<Long>(); + private final List<Long> durations = new ArrayList<>(); public Statistician(String desc) { super(); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/CaseInsensitiveComparator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/CaseInsensitiveComparator.java b/core/src/main/java/org/apache/calcite/util/CaseInsensitiveComparator.java index ad28da1..c5bf7fd 100644 --- a/core/src/main/java/org/apache/calcite/util/CaseInsensitiveComparator.java +++ b/core/src/main/java/org/apache/calcite/util/CaseInsensitiveComparator.java @@ -27,8 +27,8 @@ import java.util.Comparator; * * <p>In a collection sorted on this comparator, we can find case-insensitive matches * for a given string using - * {@link org.apache.calcite.util.CaseInsensitiveComparator#floorKey(java.lang.String)} - * and {@link org.apache.calcite.util.CaseInsensitiveComparator#ceilingKey(java.lang.String)}. + * {@link #floorKey(java.lang.String)} + * and {@link #ceilingKey(java.lang.String)}. */ class CaseInsensitiveComparator implements Comparator { static final CaseInsensitiveComparator COMPARATOR = new CaseInsensitiveComparator(); @@ -50,11 +50,11 @@ class CaseInsensitiveComparator implements Comparator { } } - static Object floorKey(String key) { + Object floorKey(String key) { return new Key(key, -1); } - static Object ceilingKey(String key) { + Object ceilingKey(String key) { return new Key(key, 1); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/CompositeList.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/CompositeList.java b/core/src/main/java/org/apache/calcite/util/CompositeList.java index be38249..3050a47 100644 --- a/core/src/main/java/org/apache/calcite/util/CompositeList.java +++ b/core/src/main/java/org/apache/calcite/util/CompositeList.java @@ -69,7 +69,7 @@ public class CompositeList<T> extends AbstractList<T> { */ public static <T> CompositeList<T> ofCopy(Iterable<List<T>> lists) { final ImmutableList<List<T>> list = ImmutableList.copyOf(lists); - return new CompositeList<T>(list); + return new CompositeList<>(list); } /** http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/CompositeMap.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/CompositeMap.java b/core/src/main/java/org/apache/calcite/util/CompositeMap.java index 66a3e40..f4d2b47 100644 --- a/core/src/main/java/org/apache/calcite/util/CompositeMap.java +++ b/core/src/main/java/org/apache/calcite/util/CompositeMap.java @@ -40,10 +40,9 @@ public class CompositeMap<K, V> implements Map<K, V> { /** Creates a CompositeMap. */ // Would like to use '@SafeVarargs' but JDK 1.6 doesn't support it. - @SuppressWarnings("varargs") - public static <K, V> CompositeMap<K, V> of(Map<K, V> map0, + @SafeVarargs public static <K, V> CompositeMap<K, V> of(Map<K, V> map0, Map<K, V>... maps) { - return new CompositeMap<K, V>(list(map0, maps)); + return new CompositeMap<>(list(map0, maps)); } private static <E> ImmutableList<E> list(E e, E[] es) { @@ -118,7 +117,7 @@ public class CompositeMap<K, V> implements Map<K, V> { } public Set<K> keySet() { - final Set<K> keys = new LinkedHashSet<K>(); + final Set<K> keys = new LinkedHashSet<>(); for (Map<K, V> map : maps) { keys.addAll(map.keySet()); } @@ -127,7 +126,7 @@ public class CompositeMap<K, V> implements Map<K, V> { private Map<K, V> combinedMap() { ImmutableMap.Builder<K, V> builder = ImmutableMap.builder(); - final Set<K> keys = new LinkedHashSet<K>(); + final Set<K> keys = new LinkedHashSet<>(); for (Map<K, V> map : maps) { for (Entry<K, V> entry : map.entrySet()) { if (keys.add(entry.getKey())) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/CompoundClosableAllocation.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/CompoundClosableAllocation.java b/core/src/main/java/org/apache/calcite/util/CompoundClosableAllocation.java index 283f064..a4aef8a 100644 --- a/core/src/main/java/org/apache/calcite/util/CompoundClosableAllocation.java +++ b/core/src/main/java/org/apache/calcite/util/CompoundClosableAllocation.java @@ -36,7 +36,7 @@ public class CompoundClosableAllocation implements ClosableAllocationOwner { //~ Constructors ----------------------------------------------------------- public CompoundClosableAllocation() { - allocations = new LinkedList<ClosableAllocation>(); + allocations = new LinkedList<>(); } //~ Methods ---------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/DelegatingInvocationHandler.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/DelegatingInvocationHandler.java b/core/src/main/java/org/apache/calcite/util/DelegatingInvocationHandler.java index 8df789f..b350c93 100644 --- a/core/src/main/java/org/apache/calcite/util/DelegatingInvocationHandler.java +++ b/core/src/main/java/org/apache/calcite/util/DelegatingInvocationHandler.java @@ -62,9 +62,7 @@ public abstract class DelegatingInvocationHandler implements InvocationHandler { clazz.getMethod( method.getName(), method.getParameterTypes()); - } catch (NoSuchMethodException e) { - matchingMethod = null; - } catch (SecurityException e) { + } catch (NoSuchMethodException | SecurityException e) { matchingMethod = null; } try { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/Holder.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/Holder.java b/core/src/main/java/org/apache/calcite/util/Holder.java index 938fb4d..64884de 100644 --- a/core/src/main/java/org/apache/calcite/util/Holder.java +++ b/core/src/main/java/org/apache/calcite/util/Holder.java @@ -48,7 +48,7 @@ public class Holder<E> { /** Creates a holder containing a given value. */ public static <E> Holder<E> of(E e) { - return new Holder<E>(e); + return new Holder<>(e); } } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/ImmutableNullableList.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/ImmutableNullableList.java b/core/src/main/java/org/apache/calcite/util/ImmutableNullableList.java index 109153d..b4e53ab 100644 --- a/core/src/main/java/org/apache/calcite/util/ImmutableNullableList.java +++ b/core/src/main/java/org/apache/calcite/util/ImmutableNullableList.java @@ -67,7 +67,7 @@ public class ImmutableNullableList<E> extends AbstractList<E> { if (object == null) { final Object[] objects = elements.toArray(); //noinspection unchecked - return new ImmutableNullableList<E>((E[]) objects); + return new ImmutableNullableList<>((E[]) objects); } } return ImmutableList.copyOf(elements); @@ -112,7 +112,7 @@ public class ImmutableNullableList<E> extends AbstractList<E> { for (E object : elements) { if (object == null) { //noinspection unchecked - return new ImmutableNullableList<E>(elements.clone()); + return new ImmutableNullableList<>(elements.clone()); } } // There are no nulls. ImmutableList is better. @@ -181,7 +181,7 @@ public class ImmutableNullableList<E> extends AbstractList<E> { array[7] = e8; System.arraycopy(others, 0, array, 8, others.length); //noinspection unchecked - return new ImmutableNullableList<E>((E[]) array); + return new ImmutableNullableList<>((E[]) array); } @Override public E get(int index) { @@ -197,7 +197,7 @@ public class ImmutableNullableList<E> extends AbstractList<E> { * created by the {@link Builder} constructor. */ public static <E> Builder<E> builder() { - return new Builder<E>(); + return new Builder<>(); } /** http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/JsonBuilder.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/JsonBuilder.java b/core/src/main/java/org/apache/calcite/util/JsonBuilder.java index 6f42300..0156d36 100644 --- a/core/src/main/java/org/apache/calcite/util/JsonBuilder.java +++ b/core/src/main/java/org/apache/calcite/util/JsonBuilder.java @@ -33,14 +33,14 @@ public class JsonBuilder { */ public Map<String, Object> map() { // Use LinkedHashMap to preserve order. - return new LinkedHashMap<String, Object>(); + return new LinkedHashMap<>(); } /** * Creates a JSON object (represented by a {@link List}). */ public List<Object> list() { - return new ArrayList<Object>(); + return new ArrayList<>(); } /** http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/Permutation.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/Permutation.java b/core/src/main/java/org/apache/calcite/util/Permutation.java index 1a2ede1..92d37e5 100644 --- a/core/src/main/java/org/apache/calcite/util/Permutation.java +++ b/core/src/main/java/org/apache/calcite/util/Permutation.java @@ -471,6 +471,7 @@ public class Permutation implements Mapping, Mappings.TargetMapping { assert !fail : "target " + target + " occurs more than once"; return false; } + occurCount[target]++; } return true; } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/UnmodifiableArrayList.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/UnmodifiableArrayList.java b/core/src/main/java/org/apache/calcite/util/UnmodifiableArrayList.java index d7a58fd..9778c42 100644 --- a/core/src/main/java/org/apache/calcite/util/UnmodifiableArrayList.java +++ b/core/src/main/java/org/apache/calcite/util/UnmodifiableArrayList.java @@ -43,7 +43,7 @@ public class UnmodifiableArrayList<E> } public static <E> UnmodifiableArrayList<E> of(E... elements) { - return new UnmodifiableArrayList<E>(elements); + return new UnmodifiableArrayList<>(elements); } @Override public E get(int index) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/Util.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/Util.java b/core/src/main/java/org/apache/calcite/util/Util.java index 32e5e7b..1dcb567 100644 --- a/core/src/main/java/org/apache/calcite/util/Util.java +++ b/core/src/main/java/org/apache/calcite/util/Util.java @@ -1571,7 +1571,7 @@ public class Util { * @return A list whose members are of the desired type. */ public static <E> List<E> cast(List<? super E> list, Class<E> clazz) { - return new CastingList<E>(list, clazz); + return new CastingList<>(list, clazz); } /** http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/XmlOutput.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/XmlOutput.java b/core/src/main/java/org/apache/calcite/util/XmlOutput.java index 1a32205..8cd5671 100644 --- a/core/src/main/java/org/apache/calcite/util/XmlOutput.java +++ b/core/src/main/java/org/apache/calcite/util/XmlOutput.java @@ -547,7 +547,7 @@ public class XmlOutput { * Identity transform */ StringEscaper() { - translationVector = new ArrayList<String>(); + translationVector = new ArrayList<>(); } /** @@ -597,7 +597,7 @@ public class XmlOutput { } else { if (sb == null) { sb = new StringBuilder(n * 2); - sb.append(s.substring(0, i)); + sb.append(s, 0, i); } sb.append(escape); } @@ -613,7 +613,7 @@ public class XmlOutput { protected StringEscaper clone() { StringEscaper clone = new StringEscaper(); if (translationVector != null) { - clone.translationVector = new ArrayList<String>(translationVector); + clone.translationVector = new ArrayList<>(translationVector); } if (translationTable != null) { clone.translationTable = translationTable.clone(); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/graph/BreadthFirstIterator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/graph/BreadthFirstIterator.java b/core/src/main/java/org/apache/calcite/util/graph/BreadthFirstIterator.java index 3a7260f..712516e 100644 --- a/core/src/main/java/org/apache/calcite/util/graph/BreadthFirstIterator.java +++ b/core/src/main/java/org/apache/calcite/util/graph/BreadthFirstIterator.java @@ -31,8 +31,8 @@ import java.util.Set; public class BreadthFirstIterator<V, E extends DefaultEdge> implements Iterator<V> { private final DirectedGraph<V, E> graph; - private final Deque<V> deque = new ArrayDeque<V>(); - private final Set<V> set = new HashSet<V>(); + private final Deque<V> deque = new ArrayDeque<>(); + private final Set<V> set = new HashSet<>(); public BreadthFirstIterator(DirectedGraph<V, E> graph, V root) { this.graph = graph; @@ -41,13 +41,13 @@ public class BreadthFirstIterator<V, E extends DefaultEdge> public static <V, E extends DefaultEdge> Iterable<V> of( final DirectedGraph<V, E> graph, final V root) { - return () -> new BreadthFirstIterator<V, E>(graph, root); + return () -> new BreadthFirstIterator<>(graph, root); } /** Populates a set with the nodes reachable from a given node. */ public static <V, E extends DefaultEdge> void reachable(Set<V> set, final DirectedGraph<V, E> graph, final V root) { - final Deque<V> deque = new ArrayDeque<V>(); + final Deque<V> deque = new ArrayDeque<>(); deque.add(root); set.add(root); while (!deque.isEmpty()) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/graph/CycleDetector.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/graph/CycleDetector.java b/core/src/main/java/org/apache/calcite/util/graph/CycleDetector.java index 4e9fcc5..e411e58 100644 --- a/core/src/main/java/org/apache/calcite/util/graph/CycleDetector.java +++ b/core/src/main/java/org/apache/calcite/util/graph/CycleDetector.java @@ -32,7 +32,7 @@ public class CycleDetector<V, E extends DefaultEdge> { } public Set<V> findCycles() { - return new TopologicalOrderIterator<V, E>(graph).findCycles(); + return new TopologicalOrderIterator<>(graph).findCycles(); } } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/graph/DefaultDirectedGraph.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/graph/DefaultDirectedGraph.java b/core/src/main/java/org/apache/calcite/util/graph/DefaultDirectedGraph.java index 77eef3e..1da04d9 100644 --- a/core/src/main/java/org/apache/calcite/util/graph/DefaultDirectedGraph.java +++ b/core/src/main/java/org/apache/calcite/util/graph/DefaultDirectedGraph.java @@ -19,7 +19,6 @@ package org.apache.calcite.util.graph; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; @@ -34,9 +33,9 @@ import java.util.Set; */ public class DefaultDirectedGraph<V, E extends DefaultEdge> implements DirectedGraph<V, E> { - final Set<E> edges = new LinkedHashSet<E>(); + final Set<E> edges = new LinkedHashSet<>(); final Map<V, VertexInfo<V, E>> vertexMap = - new LinkedHashMap<V, VertexInfo<V, E>>(); + new LinkedHashMap<>(); final EdgeFactory<V, E> edgeFactory; /** Creates a graph. */ @@ -50,7 +49,7 @@ public class DefaultDirectedGraph<V, E extends DefaultEdge> public static <V, E extends DefaultEdge> DefaultDirectedGraph<V, E> create( EdgeFactory<V, E> edgeFactory) { - return new DefaultDirectedGraph<V, E>(edgeFactory); + return new DefaultDirectedGraph<>(edgeFactory); } @Override public String toString() { @@ -68,7 +67,7 @@ public class DefaultDirectedGraph<V, E extends DefaultEdge> if (vertexMap.containsKey(vertex)) { return false; } else { - vertexMap.put(vertex, new VertexInfo<V, E>()); + vertexMap.put(vertex, new VertexInfo<>()); return true; } } @@ -127,14 +126,8 @@ public class DefaultDirectedGraph<V, E extends DefaultEdge> public void removeAllVertices(Collection<V> collection) { vertexMap.keySet().removeAll(collection); for (VertexInfo<V, E> info : vertexMap.values()) { - for (Iterator<E> iterator = info.outEdges.iterator(); - iterator.hasNext();) { - E next = iterator.next(); - //noinspection SuspiciousMethodCalls - if (collection.contains(next.target)) { - iterator.remove(); - } - } + //noinspection SuspiciousMethodCalls + info.outEdges.removeIf(next -> collection.contains(next.target)); } } @@ -143,7 +136,7 @@ public class DefaultDirectedGraph<V, E extends DefaultEdge> } public List<E> getInwardEdges(V target) { - final ArrayList<E> list = new ArrayList<E>(); + final ArrayList<E> list = new ArrayList<>(); for (VertexInfo<V, E> info : vertexMap.values()) { for (E edge : info.outEdges) { if (edge.target.equals(target)) { @@ -171,7 +164,7 @@ public class DefaultDirectedGraph<V, E extends DefaultEdge> * @param <E> Edge type */ static class VertexInfo<V, E> { - public List<E> outEdges = new ArrayList<E>(); + public List<E> outEdges = new ArrayList<>(); } } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/graph/DepthFirstIterator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/graph/DepthFirstIterator.java b/core/src/main/java/org/apache/calcite/util/graph/DepthFirstIterator.java index 50d6b95..a25c84b 100644 --- a/core/src/main/java/org/apache/calcite/util/graph/DepthFirstIterator.java +++ b/core/src/main/java/org/apache/calcite/util/graph/DepthFirstIterator.java @@ -57,7 +57,7 @@ public class DepthFirstIterator<V, E extends DefaultEdge> /** Populates a collection with the nodes reachable from a given node. */ public static <V, E extends DefaultEdge> void reachable(Collection<V> list, final DirectedGraph<V, E> graph, final V start) { - buildListRecurse(list, new HashSet<V>(), graph, start); + buildListRecurse(list, new HashSet<>(), graph, start); } private static <V, E extends DefaultEdge> void buildListRecurse( http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/graph/Graphs.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/graph/Graphs.java b/core/src/main/java/org/apache/calcite/util/graph/Graphs.java index cd230c1..396f0cb 100644 --- a/core/src/main/java/org/apache/calcite/util/graph/Graphs.java +++ b/core/src/main/java/org/apache/calcite/util/graph/Graphs.java @@ -148,7 +148,7 @@ public class Graphs { // } final List<V> prefix = new ArrayList<>(); prefix.add(from); - findPathsExcluding(from, to, list, new HashSet<V>(), prefix); + findPathsExcluding(from, to, list, new HashSet<>(), prefix); } /** http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/graph/TopologicalOrderIterator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/graph/TopologicalOrderIterator.java b/core/src/main/java/org/apache/calcite/util/graph/TopologicalOrderIterator.java index 69a6fdf..a5ee3cd 100644 --- a/core/src/main/java/org/apache/calcite/util/graph/TopologicalOrderIterator.java +++ b/core/src/main/java/org/apache/calcite/util/graph/TopologicalOrderIterator.java @@ -31,8 +31,8 @@ import java.util.Set; */ public class TopologicalOrderIterator<V, E extends DefaultEdge> implements Iterator<V> { - final Map<V, int[]> countMap = new HashMap<V, int[]>(); - final List<V> empties = new ArrayList<V>(); + final Map<V, int[]> countMap = new HashMap<>(); + final List<V> empties = new ArrayList<>(); private final DefaultDirectedGraph<V, E> graph; public TopologicalOrderIterator(DirectedGraph<V, E> graph) { @@ -42,7 +42,7 @@ public class TopologicalOrderIterator<V, E extends DefaultEdge> public static <V, E extends DefaultEdge> Iterable<V> of( final DirectedGraph<V, E> graph) { - return () -> new TopologicalOrderIterator<V, E>(graph); + return () -> new TopologicalOrderIterator<>(graph); } private void populate(Map<V, int[]> countMap, List<V> empties) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/javac/JaninoCompiler.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/javac/JaninoCompiler.java b/core/src/main/java/org/apache/calcite/util/javac/JaninoCompiler.java index 74e542a..b94cce1 100644 --- a/core/src/main/java/org/apache/calcite/util/javac/JaninoCompiler.java +++ b/core/src/main/java/org/apache/calcite/util/javac/JaninoCompiler.java @@ -45,7 +45,6 @@ public class JaninoCompiler implements JavaCompiler { //~ Constructors ----------------------------------------------------------- public JaninoCompiler() { - args = new JaninoCompilerArgs(); } //~ Methods ---------------------------------------------------------------- @@ -67,7 +66,7 @@ public class JaninoCompiler implements JavaCompiler { parentClassLoader = classLoader; } - Map<String, byte[]> sourceMap = new HashMap<String, byte[]>(); + Map<String, byte[]> sourceMap = new HashMap<>(); sourceMap.put( ClassFile.getSourceResourceName(args.fullClassName), args.source.getBytes(StandardCharsets.UTF_8)); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/javac/JavaCompilerArgs.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/javac/JavaCompilerArgs.java b/core/src/main/java/org/apache/calcite/util/javac/JavaCompilerArgs.java index e3b03d3..6a87bce 100644 --- a/core/src/main/java/org/apache/calcite/util/javac/JavaCompilerArgs.java +++ b/core/src/main/java/org/apache/calcite/util/javac/JavaCompilerArgs.java @@ -32,8 +32,8 @@ import java.util.StringTokenizer; public class JavaCompilerArgs { //~ Instance fields -------------------------------------------------------- - List<String> argsList = new ArrayList<String>(); - List<String> fileNameList = new ArrayList<String>(); + List<String> argsList = new ArrayList<>(); + List<String> fileNameList = new ArrayList<>(); ClassLoader classLoader; @@ -56,7 +56,7 @@ public class JavaCompilerArgs { * dir</i> -verbose [<i>file</i>...]"</code> */ public void setString(String args) { - List<String> list = new ArrayList<String>(); + List<String> list = new ArrayList<>(); StringTokenizer tok = new StringTokenizer(args); while (tok.hasMoreTokens()) { list.add(tok.nextToken()); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/main/java/org/apache/calcite/util/mapping/Mappings.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/util/mapping/Mappings.java b/core/src/main/java/org/apache/calcite/util/mapping/Mappings.java index 8381d1c..e952b60 100644 --- a/core/src/main/java/org/apache/calcite/util/mapping/Mappings.java +++ b/core/src/main/java/org/apache/calcite/util/mapping/Mappings.java @@ -238,7 +238,7 @@ public abstract class Mappings { + " does not match list size " + list.size()); } final int targetCount = mapping.getTargetCount(); - final List<T> list2 = new ArrayList<T>(targetCount); + final List<T> list2 = new ArrayList<>(targetCount); for (int target = 0; target < targetCount; ++target) { final int source = mapping.getSource(target); list2.add(list.get(source)); @@ -1175,8 +1175,8 @@ public abstract class Mappings { public int size() { int size = 0; int[] a = sources.length < targets.length ? sources : targets; - for (int i = 0; i < a.length; i++) { - if (a[i] >= 0) { + for (int i1 : a) { + if (i1 >= 0) { ++size; } } @@ -1568,8 +1568,8 @@ public abstract class Mappings { public int size() { int size = 0; - for (int i = 0; i < targets.length; i++) { - if (targets[i] >= 0) { + for (int target : targets) { + if (target >= 0) { ++size; } } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/core/src/test/java/org/apache/calcite/util/UtilTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/calcite/util/UtilTest.java b/core/src/test/java/org/apache/calcite/util/UtilTest.java index db9f337..72a8554 100644 --- a/core/src/test/java/org/apache/calcite/util/UtilTest.java +++ b/core/src/test/java/org/apache/calcite/util/UtilTest.java @@ -1571,6 +1571,7 @@ public class UtilTest { checkHash(Double.MIN_VALUE); } + @SuppressWarnings("deprecation") public void checkHash(double v) { assertThat(Double.valueOf(v).hashCode(), is(Utilities.hashCode(v))); final long long_ = (long) v; http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSqlCastConverter.java ---------------------------------------------------------------------- diff --git a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSqlCastConverter.java b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSqlCastConverter.java index 65a2ab4..e73464e 100644 --- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSqlCastConverter.java +++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidSqlCastConverter.java @@ -171,7 +171,7 @@ public class DruidSqlCastConverter implements DruidSqlOperatorConverter { return "yyyy-MM-dd"; } else if (sqlTypeName == SqlTypeName.TIMESTAMP) { return "yyyy-MM-dd HH:mm:ss"; - } else if (sqlTypeName == sqlTypeName.TIMESTAMP_WITH_LOCAL_TIME_ZONE) { + } else if (sqlTypeName == SqlTypeName.TIMESTAMP_WITH_LOCAL_TIME_ZONE) { return "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; } else { return null; http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java ---------------------------------------------------------------------- diff --git a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java index 1c402c0..42cdfe2 100644 --- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java +++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTable.java @@ -220,7 +220,7 @@ public class DruidTable extends AbstractTable implements TranslatableTable { public List<ComplexMetric> getComplexMetricsFrom(String alias) { return complexMetrics.containsKey(alias) ? complexMetrics.get(alias) - : new ArrayList<ComplexMetric>(); + : new ArrayList<>(); } /** http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTableFactory.java ---------------------------------------------------------------------- diff --git a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTableFactory.java b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTableFactory.java index e714609..86b5faa 100644 --- a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTableFactory.java +++ b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidTableFactory.java @@ -99,7 +99,7 @@ public class DruidTableFactory implements TableFactory { // noinspection unchecked final List<String> complexMetricList = (List<String>) complexMetricsRaw; for (String metric : complexMetricList) { - complexMetrics.put(metric, new ArrayList<ComplexMetric>()); + complexMetrics.put(metric, new ArrayList<>()); } } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchEnumerators.java ---------------------------------------------------------------------- diff --git a/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchEnumerators.java b/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchEnumerators.java index 16ac92d..a536269 100644 --- a/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchEnumerators.java +++ b/elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchEnumerators.java @@ -34,21 +34,13 @@ class ElasticsearchEnumerators { private ElasticsearchEnumerators() {} private static Function1<ElasticsearchJson.SearchHit, Map> mapGetter() { - return new Function1<ElasticsearchJson.SearchHit, Map>() { - public Map apply(ElasticsearchJson.SearchHit hits) { - return hits.sourceOrFields(); - } - }; + return ElasticsearchJson.SearchHit::sourceOrFields; } private static Function1<ElasticsearchJson.SearchHit, Object> singletonGetter( final String fieldName, final Class fieldClass) { - return new Function1<ElasticsearchJson.SearchHit, Object>() { - public Object apply(ElasticsearchJson.SearchHit hits) { - return convert(hits.valueOrNull(fieldName), fieldClass); - } - }; + return hits -> convert(hits.valueOrNull(fieldName), fieldClass); } /** @@ -61,17 +53,15 @@ class ElasticsearchEnumerators { */ private static Function1<ElasticsearchJson.SearchHit, Object[]> listGetter( final List<Map.Entry<String, Class>> fields) { - return new Function1<ElasticsearchJson.SearchHit, Object[]>() { - public Object[] apply(ElasticsearchJson.SearchHit hit) { - 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(); - final Class type = field.getValue(); - objects[i] = convert(hit.valueOrNull(name), type); - } - return objects; + return hit -> { + 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(); + final Class type = field.getValue(); + objects[i] = convert(hit.valueOrNull(name), type); } + return objects; }; } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvEnumerator.java ---------------------------------------------------------------------- diff --git a/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvEnumerator.java b/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvEnumerator.java index d42a979..def1a2d 100644 --- a/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvEnumerator.java +++ b/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvEnumerator.java @@ -112,16 +112,14 @@ class CsvEnumerator<E> implements Enumerator<E> { List<CsvFieldType> fieldTypes, Boolean stream) { final List<RelDataType> types = new ArrayList<>(); final List<String> names = new ArrayList<>(); - CSVReader reader = null; if (stream) { names.add(CsvSchemaFactory.ROWTIME_COLUMN_NAME); types.add(typeFactory.createSqlType(SqlTypeName.TIMESTAMP)); } - try { - reader = openCsv(source); + try (CSVReader reader = openCsv(source)) { String[] strings = reader.readNext(); if (strings == null) { - strings = new String[] {"EmptyFileHasNoColumns:boolean"}; + strings = new String[]{"EmptyFileHasNoColumns:boolean"}; } for (String string : strings) { final String name; @@ -155,14 +153,6 @@ class CsvEnumerator<E> implements Enumerator<E> { } } catch (IOException e) { // ignore - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - // ignore - } - } } if (names.isEmpty()) { names.add("line"); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvFilterableTable.java ---------------------------------------------------------------------- diff --git a/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvFilterableTable.java b/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvFilterableTable.java index 7adfdfa..46555f0 100644 --- a/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvFilterableTable.java +++ b/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvFilterableTable.java @@ -29,7 +29,6 @@ import org.apache.calcite.schema.FilterableTable; import org.apache.calcite.sql.SqlKind; import org.apache.calcite.util.Source; -import java.util.Iterator; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; @@ -52,12 +51,7 @@ public class CsvFilterableTable extends CsvTable public Enumerable<Object[]> scan(DataContext root, List<RexNode> filters) { final String[] filterValues = new String[fieldTypes.size()]; - for (final Iterator<RexNode> i = filters.iterator(); i.hasNext();) { - final RexNode filter = i.next(); - if (addFilter(filter, filterValues)) { - i.remove(); - } - } + filters.removeIf(filter -> addFilter(filter, filterValues)); final int[] fields = CsvEnumerator.identityList(fieldTypes.size()); final AtomicBoolean cancelFlag = DataContext.Variable.CANCEL_FLAG.get(root); return new AbstractEnumerable<Object[]>() { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java ---------------------------------------------------------------------- diff --git a/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java b/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java index ca0b482..e69a0db 100644 --- a/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java +++ b/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java @@ -123,7 +123,7 @@ public class GeodeFilter extends Filter implements GeodeRel { * @return OQL string for the predicate */ private String translateAnd(RexNode condition) { - List<String> predicates = new ArrayList<String>(); + List<String> predicates = new ArrayList<>(); for (RexNode node : RelOptUtil.conjunctions(condition)) { predicates.add(translateMatch2(node)); } @@ -132,7 +132,7 @@ public class GeodeFilter extends Filter implements GeodeRel { } private String translateOr(List<RexNode> disjunctions) { - List<String> predicates = new ArrayList<String>(); + List<String> predicates = new ArrayList<>(); for (RexNode node : disjunctions) { if (RelOptUtil.conjunctions(node).size() > 1) { predicates.add("(" + translateMatch(node) + ")"); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeSort.java ---------------------------------------------------------------------- diff --git a/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeSort.java b/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeSort.java index a1a3c2c..02e7b72 100644 --- a/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeSort.java +++ b/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeSort.java @@ -76,7 +76,7 @@ public class GeodeSort extends Sort implements GeodeRel { if (!sortCollations.isEmpty()) { - List<String> orderByFields = new ArrayList<String>(); + List<String> orderByFields = new ArrayList<>(); for (RelFieldCollation fieldCollation : sortCollations) { final String name = fieldName(fieldCollation.getFieldIndex()); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/AbstractEnumerable2.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/AbstractEnumerable2.java b/linq4j/src/main/java/org/apache/calcite/linq4j/AbstractEnumerable2.java index 81fcb86..85a8b14 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/AbstractEnumerable2.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/AbstractEnumerable2.java @@ -28,7 +28,7 @@ package org.apache.calcite.linq4j; */ public abstract class AbstractEnumerable2<T> extends DefaultEnumerable<T> { public Enumerator<T> enumerator() { - return new Linq4j.IterableEnumerator<T>(this); + return new Linq4j.IterableEnumerator<>(this); } } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/DefaultEnumerable.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/DefaultEnumerable.java b/linq4j/src/main/java/org/apache/calcite/linq4j/DefaultEnumerable.java index 146c175..22b5301 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/DefaultEnumerable.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/DefaultEnumerable.java @@ -71,15 +71,12 @@ public abstract class DefaultEnumerable<T> implements OrderedEnumerable<T> { public <R> R foreach(Function1<T, R> func) { R result = null; - final Enumerator<T> enumerator = enumerator(); - try { + try (Enumerator<T> enumerator = enumerator()) { while (enumerator.moveNext()) { T t = enumerator.current(); result = func.apply(t); } return result; - } finally { - enumerator.close(); } } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/EnumerableDefaults.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/EnumerableDefaults.java b/linq4j/src/main/java/org/apache/calcite/linq4j/EnumerableDefaults.java index 9b3dbba..cb868ca 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/EnumerableDefaults.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/EnumerableDefaults.java @@ -736,7 +736,7 @@ public abstract class EnumerableDefaults { Function0<TAccumulate> accumulatorInitializer, Function2<TAccumulate, TSource, TAccumulate> accumulatorAdder, final Function2<TKey, TAccumulate, TResult> resultSelector) { - return groupBy_(new HashMap<TKey, TAccumulate>(), enumerable, keySelector, + return groupBy_(new HashMap<>(), enumerable, keySelector, accumulatorInitializer, accumulatorAdder, resultSelector); } @@ -756,7 +756,7 @@ public abstract class EnumerableDefaults { Function2<TAccumulate, TSource, TAccumulate> accumulatorAdder, final Function2<TKey, TAccumulate, TResult> resultSelector) { return groupByMultiple_( - new HashMap<TKey, TAccumulate>(), + new HashMap<>(), enumerable, keySelectors, accumulatorInitializer, @@ -780,11 +780,8 @@ public abstract class EnumerableDefaults { EqualityComparer<TKey> comparer) { return groupBy_( new WrapMap<>( - new Function0<Map<Wrapped<TKey>, TAccumulate>>() { - public Map<Wrapped<TKey>, TAccumulate> apply() { - return new HashMap<>(); - } - }, + // Java 8 cannot infer return type with HashMap::new is used + () -> new HashMap<Wrapped<TKey>, TAccumulate>(), comparer), enumerable, keySelector, @@ -2589,11 +2586,8 @@ public abstract class EnumerableDefaults { // Use LinkedHashMap because groupJoin requires order of keys to be // preserved. final Map<TKey, TElement> map = new WrapMap<>( - new Function0<Map<Wrapped<TKey>, TElement>>() { - public Map<Wrapped<TKey>, TElement> apply() { - return new LinkedHashMap<>(); - } - }, comparer); + // Java 8 cannot infer return type with LinkedHashMap::new is used + () -> new LinkedHashMap<Wrapped<TKey>, TElement>(), comparer); try (Enumerator<TSource> os = source.enumerator()) { while (os.moveNext()) { TSource o = os.current(); @@ -2613,8 +2607,8 @@ public abstract class EnumerableDefaults { } else { return source.into( source instanceof Collection - ? new ArrayList<TSource>(((Collection) source).size()) - : new ArrayList<TSource>()); + ? new ArrayList<>(((Collection) source).size()) + : new ArrayList<>()); } } @@ -2690,11 +2684,8 @@ public abstract class EnumerableDefaults { EqualityComparer<TKey> comparer) { return toLookup_( new WrapMap<>( - new Function0<Map<Wrapped<TKey>, List<TElement>>>() { - public Map<Wrapped<TKey>, List<TElement>> apply() { - return new HashMap<>(); - } - }, + // Java 8 cannot infer return type with HashMap::new is used + () -> new HashMap<Wrapped<TKey>, List<TElement>>(), comparer), source, keySelector, http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java b/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java index 11fc069..4d6065a 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java @@ -25,6 +25,7 @@ import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; +import java.util.Objects; import java.util.RandomAccess; /** @@ -39,9 +40,7 @@ public abstract class Linq4j { Class... parameterTypes) { try { return Class.forName(className).getMethod(methodName, parameterTypes); - } catch (NoSuchMethodException e) { - return null; - } catch (ClassNotFoundException e) { + } catch (NoSuchMethodException | ClassNotFoundException e) { return null; } } @@ -405,7 +404,7 @@ public abstract class Linq4j { */ @Deprecated // to be removed before 2.0 public static <T> boolean equals(T t0, T t1) { - return t0 == t1 || t0 != null && t0.equals(t1); + return Objects.equals(t0, t1); } /** http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/LookupImpl.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/LookupImpl.java b/linq4j/src/main/java/org/apache/calcite/linq4j/LookupImpl.java index 0451d10..75e7ce2 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/LookupImpl.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/LookupImpl.java @@ -53,7 +53,7 @@ class LookupImpl<K, V> extends AbstractEnumerable<Grouping<K, V>> public Grouping<K, V> current() { final Entry<K, List<V>> keyAndList = enumerator.current(); - return new GroupingImpl<K, V>(keyAndList.getKey(), + return new GroupingImpl<>(keyAndList.getKey(), keyAndList.getValue()); } @@ -159,7 +159,7 @@ class LookupImpl<K, V> extends AbstractEnumerable<Grouping<K, V>> public Entry<K, Enumerable<V>> next() { final Entry<K, List<V>> entry = iterator.next(); - return new AbstractMap.SimpleEntry<K, Enumerable<V>>(entry.getKey(), + return new AbstractMap.SimpleEntry<>(entry.getKey(), Linq4j.asEnumerable(entry.getValue())); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/QueryProviderImpl.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/QueryProviderImpl.java b/linq4j/src/main/java/org/apache/calcite/linq4j/QueryProviderImpl.java index e7bc153..21c4bd5 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/QueryProviderImpl.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/QueryProviderImpl.java @@ -34,11 +34,11 @@ public abstract class QueryProviderImpl implements QueryProvider { } public <T> Queryable<T> createQuery(Expression expression, Class<T> rowType) { - return new QueryableImpl<T>(this, rowType, expression); + return new QueryableImpl<>(this, rowType, expression); } public <T> Queryable<T> createQuery(Expression expression, Type rowType) { - return new QueryableImpl<T>(this, rowType, expression); + return new QueryableImpl<>(this, rowType, expression); } public <T> T execute(Expression expression, Class<T> type) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/QueryableDefaults.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/QueryableDefaults.java b/linq4j/src/main/java/org/apache/calcite/linq4j/QueryableDefaults.java index 8a21331..19b1892 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/QueryableDefaults.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/QueryableDefaults.java @@ -226,7 +226,7 @@ public abstract class QueryableDefaults { return new BaseQueryable<T2>(source.getProvider(), clazz, source.getExpression()) { public Enumerator<T2> enumerator() { - return new EnumerableDefaults.CastingEnumerator<T2>(source.enumerator(), + return new EnumerableDefaults.CastingEnumerator<>(source.enumerator(), clazz); } }; @@ -911,7 +911,7 @@ public abstract class QueryableDefaults { return new BaseQueryable<T>(source.getProvider(), source.getElementType(), source.getExpression()) { public Enumerator<T> enumerator() { - return new EnumerableDefaults.SkipWhileEnumerator<T>( + return new EnumerableDefaults.SkipWhileEnumerator<>( source.enumerator(), predicate.getFunction()); } }; @@ -1046,7 +1046,7 @@ public abstract class QueryableDefaults { return new BaseQueryable<T>(source.getProvider(), source.getElementType(), source.getExpression()) { public Enumerator<T> enumerator() { - return new EnumerableDefaults.TakeWhileEnumerator<T>( + return new EnumerableDefaults.TakeWhileEnumerator<>( source.enumerator(), predicate.getFunction()); } }; http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/tree/ClassDeclarationFinder.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/ClassDeclarationFinder.java b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/ClassDeclarationFinder.java index 227e90d..f21e241 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/ClassDeclarationFinder.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/ClassDeclarationFinder.java @@ -35,8 +35,7 @@ public class ClassDeclarationFinder extends Shuttle { /** * The list of new final static fields to be added to the current class. */ - protected final List<MemberDeclaration> addedDeclarations = - new ArrayList<MemberDeclaration>(); + protected final List<MemberDeclaration> addedDeclarations = new ArrayList<>(); private final Function1<ClassDeclarationFinder, ClassDeclarationFinder> childFactory; @@ -93,13 +92,7 @@ public class ClassDeclarationFinder extends Shuttle { return a0 -> { try { return constructor.newInstance(a0); - } catch (InstantiationException e) { - throw new IllegalStateException( - "Unable to create optimizer via " + constructor, e); - } catch (IllegalAccessException e) { - throw new IllegalStateException( - "Unable to create optimizer via " + constructor, e); - } catch (InvocationTargetException e) { + } catch (InstantiationException | InvocationTargetException | IllegalAccessException e) { throw new IllegalStateException( "Unable to create optimizer via " + constructor, e); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Evaluator.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Evaluator.java b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Evaluator.java index 9508bbd..8f1b265 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Evaluator.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Evaluator.java @@ -23,9 +23,8 @@ import java.util.List; * Holds context for evaluating expressions. */ class Evaluator { - final List<ParameterExpression> parameters = - new ArrayList<ParameterExpression>(); - final List<Object> values = new ArrayList<Object>(); + final List<ParameterExpression> parameters = new ArrayList<>(); + final List<Object> values = new ArrayList<>(); Evaluator() { } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Expressions.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Expressions.java b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Expressions.java index 0e4c3c2..e87576f 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Expressions.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Expressions.java @@ -1120,7 +1120,7 @@ public abstract class Expressions { // default constructor, etc.? //noinspection unchecked - return new FunctionExpression<F>(function); + return new FunctionExpression<>(function); } /** @@ -1133,7 +1133,7 @@ public abstract class Expressions { final List<ParameterExpression> parameterList = toList(parameters); @SuppressWarnings("unchecked") Class<F> type = deduceType(parameterList, body.getType()); - return new FunctionExpression<F>(type, body, parameterList); + return new FunctionExpression<>(type, body, parameterList); } /** @@ -1172,7 +1172,7 @@ public abstract class Expressions { public static <T, F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, BlockStatement body, Iterable<? extends ParameterExpression> parameters) { - return new FunctionExpression<F>(type, body, toList(parameters)); + return new FunctionExpression<>(type, body, toList(parameters)); } /** @@ -3026,21 +3026,21 @@ public abstract class Expressions { * Creates an empty fluent list. */ public static <T> FluentList<T> list() { - return new FluentArrayList<T>(); + return new FluentArrayList<>(); } /** * Creates a fluent list with given elements. */ - public static <T> FluentList<T> list(T... ts) { - return new FluentArrayList<T>(Arrays.asList(ts)); + @SafeVarargs public static <T> FluentList<T> list(T... ts) { + return new FluentArrayList<>(Arrays.asList(ts)); } /** * Creates a fluent list with elements from the given collection. */ public static <T> FluentList<T> list(Iterable<T> ts) { - return new FluentArrayList<T>(toList(ts)); + return new FluentArrayList<>(toList(ts)); } // ~ Private helper methods ------------------------------------------------ @@ -3072,7 +3072,7 @@ public abstract class Expressions { if (iterable instanceof List) { return (List<T>) iterable; } - final List<T> list = new ArrayList<T>(); + final List<T> list = new ArrayList<>(); for (T parameter : iterable) { list.add(parameter); } @@ -3117,7 +3117,7 @@ public abstract class Expressions { if (statements.isEmpty()) { return statements; // short cut } - final List<Statement> statements1 = new ArrayList<Statement>(); + final List<Statement> statements1 = new ArrayList<>(); for (Statement statement : statements) { Statement newStatement = statement.accept(shuttle); if (newStatement instanceof GotoStatement) { @@ -3137,7 +3137,7 @@ public abstract class Expressions { if (nodes.isEmpty()) { return nodes; // short cut } - final List<Node> statements1 = new ArrayList<Node>(); + final List<Node> statements1 = new ArrayList<>(); for (Node node : nodes) { statements1.add(node.accept(shuttle)); } @@ -3149,7 +3149,7 @@ public abstract class Expressions { if (parameterExpressions.isEmpty()) { return Collections.emptyList(); // short cut } - final List<Expression> parameterExpressions1 = new ArrayList<Expression>(); + final List<Expression> parameterExpressions1 = new ArrayList<>(); for (ParameterExpression parameterExpression : parameterExpressions) { parameterExpressions1.add(parameterExpression.accept(shuttle)); } @@ -3161,8 +3161,7 @@ public abstract class Expressions { if (declarations == null || declarations.isEmpty()) { return declarations; // short cut } - final List<DeclarationStatement> declarations1 = - new ArrayList<DeclarationStatement>(); + final List<DeclarationStatement> declarations1 = new ArrayList<>(); for (DeclarationStatement declaration : declarations) { declarations1.add(declaration.accept(shuttle)); } @@ -3174,8 +3173,7 @@ public abstract class Expressions { if (memberDeclarations == null || memberDeclarations.isEmpty()) { return memberDeclarations; // short cut } - final List<MemberDeclaration> memberDeclarations1 = - new ArrayList<MemberDeclaration>(); + final List<MemberDeclaration> memberDeclarations1 = new ArrayList<>(); for (MemberDeclaration memberDeclaration : memberDeclarations) { memberDeclarations1.add(memberDeclaration.accept(shuttle)); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/tree/FunctionExpression.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/FunctionExpression.java b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/FunctionExpression.java index a5f04cb..06e3945 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/FunctionExpression.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/FunctionExpression.java @@ -127,11 +127,11 @@ public final class FunctionExpression<F extends Function<?>> // public Object apply(Object p1, Object p2) { // return apply((Double) p1, (Integer) p2); // } - List<String> params = new ArrayList<String>(); - List<String> bridgeParams = new ArrayList<String>(); - List<String> bridgeArgs = new ArrayList<String>(); - List<String> boxBridgeParams = new ArrayList<String>(); - List<String> boxBridgeArgs = new ArrayList<String>(); + List<String> params = new ArrayList<>(); + List<String> bridgeParams = new ArrayList<>(); + List<String> bridgeArgs = new ArrayList<>(); + List<String> boxBridgeParams = new ArrayList<>(); + List<String> boxBridgeArgs = new ArrayList<>(); for (ParameterExpression parameterExpression : parameterList) { final Type parameterType = parameterExpression.getType(); final Type parameterBoxType = Types.box(parameterType); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Types.java ---------------------------------------------------------------------- diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Types.java b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Types.java index 442b927..b7c8d33 100644 --- a/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Types.java +++ b/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Types.java @@ -149,7 +149,7 @@ public abstract class Types { } static Class[] toClassArray(Collection<Type> types) { - List<Class> classes = new ArrayList<Class>(); + List<Class> classes = new ArrayList<>(); for (Type type : types) { classes.add(toClass(type)); } @@ -157,7 +157,7 @@ public abstract class Types { } static Class[] toClassArray(Iterable<? extends Expression> arguments) { - List<Class> classes = new ArrayList<Class>(); + List<Class> classes = new ArrayList<>(); for (Expression argument : arguments) { classes.add(toClass(argument.getType())); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoAggregate.java ---------------------------------------------------------------------- diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoAggregate.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoAggregate.java index fdf043d..0cf5f75 100644 --- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoAggregate.java +++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoAggregate.java @@ -84,7 +84,7 @@ public class MongoAggregate public void implement(Implementor implementor) { implementor.visitChild(0, getInput()); - List<String> list = new ArrayList<String>(); + List<String> list = new ArrayList<>(); final List<String> inNames = MongoRules.mongoFieldNames(getInput().getRowType()); final List<String> outNames = MongoRules.mongoFieldNames(getRowType()); @@ -94,7 +94,7 @@ public class MongoAggregate list.add("_id: " + MongoRules.maybeQuote("$" + inName)); ++i; } else { - List<String> keys = new ArrayList<String>(); + List<String> keys = new ArrayList<>(); for (int group : groupSet) { final String inName = inNames.get(group); keys.add(inName + ": " + MongoRules.quote("$" + inName)); @@ -123,7 +123,7 @@ public class MongoAggregate } }; } else { - fixups = new ArrayList<String>(); + fixups = new ArrayList<>(); fixups.add("_id: 0"); i = 0; for (int group : groupSet) { http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java ---------------------------------------------------------------------- diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java index 8d2ae04..b380ad8 100644 --- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java +++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoFilter.java @@ -79,7 +79,7 @@ public class MongoFilter extends Filter implements MongoRel { final Multimap<String, Pair<String, RexLiteral>> multimap = HashMultimap.create(); final Map<String, RexLiteral> eqMap = - new LinkedHashMap<String, RexLiteral>(); + new LinkedHashMap<>(); private final List<String> fieldNames; Translator(List<String> fieldNames) { @@ -93,7 +93,7 @@ public class MongoFilter extends Filter implements MongoRel { } private Object translateOr(RexNode condition) { - List<Object> list = new ArrayList<Object>(); + List<Object> list = new ArrayList<>(); for (RexNode node : RelOptUtil.disjunctions(condition)) { list.add(translateAnd(node)); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoProject.java ---------------------------------------------------------------------- diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoProject.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoProject.java index d8a17ec..53bbbd3 100644 --- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoProject.java +++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoProject.java @@ -69,7 +69,7 @@ public class MongoProject extends Project implements MongoRel { new MongoRules.RexToMongoTranslator( (JavaTypeFactory) getCluster().getTypeFactory(), MongoRules.mongoFieldNames(getInput().getRowType())); - final List<String> items = new ArrayList<String>(); + final List<String> items = new ArrayList<>(); for (Pair<RexNode, String> pair : getNamedProjects()) { final String name = pair.right; final String expr = pair.left.accept(translator); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRel.java ---------------------------------------------------------------------- diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRel.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRel.java index c05c965..a5b722b 100644 --- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRel.java +++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRel.java @@ -36,8 +36,7 @@ public interface MongoRel extends RelNode { /** Callback for the implementation process that converts a tree of * {@link MongoRel} nodes into a MongoDB query. */ class Implementor { - final List<Pair<String, String>> list = - new ArrayList<Pair<String, String>>(); + final List<Pair<String, String>> list = new ArrayList<>(); RelOptTable table; MongoTable mongoTable; http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRules.java ---------------------------------------------------------------------- diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRules.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRules.java index 7e00821..54339d2 100644 --- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRules.java +++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoRules.java @@ -131,7 +131,7 @@ public class MongoRules { private final List<String> inFields; private static final Map<SqlOperator, String> MONGO_OPERATORS = - new HashMap<SqlOperator, String>(); + new HashMap<>(); static { // Arithmetic @@ -236,7 +236,7 @@ public class MongoRules { } public List<String> visitList(List<RexNode> list) { - final List<String> strings = new ArrayList<String>(); + final List<String> strings = new ArrayList<>(); for (RexNode node : list) { strings.add(node.accept(this)); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSort.java ---------------------------------------------------------------------- diff --git a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSort.java b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSort.java index 193e225..1b61b1b 100644 --- a/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSort.java +++ b/mongodb/src/main/java/org/apache/calcite/adapter/mongodb/MongoSort.java @@ -59,7 +59,7 @@ public class MongoSort extends Sort implements MongoRel { public void implement(Implementor implementor) { implementor.visitChild(0, getInput()); if (!collation.getFieldCollations().isEmpty()) { - final List<String> keys = new ArrayList<String>(); + final List<String> keys = new ArrayList<>(); final List<RelDataTypeField> fields = getRowType().getFieldList(); for (RelFieldCollation fieldCollation : collation.getFieldCollations()) { final String name = http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/pig/src/main/java/org/apache/calcite/adapter/pig/PigJoin.java ---------------------------------------------------------------------- diff --git a/pig/src/main/java/org/apache/calcite/adapter/pig/PigJoin.java b/pig/src/main/java/org/apache/calcite/adapter/pig/PigJoin.java index 8880bb1..fec1107 100644 --- a/pig/src/main/java/org/apache/calcite/adapter/pig/PigJoin.java +++ b/pig/src/main/java/org/apache/calcite/adapter/pig/PigJoin.java @@ -21,7 +21,6 @@ import org.apache.calcite.plan.RelOptTable; import org.apache.calcite.plan.RelOptUtil; import org.apache.calcite.plan.RelTraitSet; import org.apache.calcite.rel.RelNode; -import org.apache.calcite.rel.core.CorrelationId; import org.apache.calcite.rel.core.Join; import org.apache.calcite.rel.core.JoinRelType; import org.apache.calcite.rex.RexCall; @@ -39,7 +38,7 @@ public class PigJoin extends Join implements PigRel { /** Creates a PigJoin. */ public PigJoin(RelOptCluster cluster, RelTraitSet traitSet, RelNode left, RelNode right, RexNode condition, JoinRelType joinType) { - super(cluster, traitSet, left, right, condition, new HashSet<CorrelationId>(0), joinType); + super(cluster, traitSet, left, right, condition, new HashSet<>(0), joinType); assert getConvention() == PigRel.CONVENTION; } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/plus/src/main/java/org/apache/calcite/adapter/os/VmstatTableFunction.java ---------------------------------------------------------------------- diff --git a/plus/src/main/java/org/apache/calcite/adapter/os/VmstatTableFunction.java b/plus/src/main/java/org/apache/calcite/adapter/os/VmstatTableFunction.java index d014b5f..5305d57 100644 --- a/plus/src/main/java/org/apache/calcite/adapter/os/VmstatTableFunction.java +++ b/plus/src/main/java/org/apache/calcite/adapter/os/VmstatTableFunction.java @@ -90,7 +90,7 @@ public class VmstatTableFunction { return 0; } if (value.endsWith(".")) { - return Long.parseLong(value.substring(0, value.length())); + return Long.parseLong(value); } return Long.parseLong(value); } http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverter.java ---------------------------------------------------------------------- diff --git a/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverter.java b/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverter.java index 1e986e2..14d105e 100644 --- a/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverter.java +++ b/spark/src/main/java/org/apache/calcite/adapter/spark/JdbcToSparkConverter.java @@ -82,7 +82,7 @@ public class JdbcToSparkConverter } final Expression sqlLiteral = list.append("sql", Expressions.constant(sql)); - final List<Primitive> primitives = new ArrayList<Primitive>(); + final List<Primitive> primitives = new ArrayList<>(); for (int i = 0; i < getRowType().getFieldCount(); i++) { final Primitive primitive = Primitive.ofBoxOr(physType.fieldClass(i)); primitives.add(primitive != null ? primitive : Primitive.OTHER); http://git-wip-us.apache.org/repos/asf/calcite/blob/295ab13e/spark/src/main/java/org/apache/calcite/adapter/spark/SparkMethod.java ---------------------------------------------------------------------- diff --git a/spark/src/main/java/org/apache/calcite/adapter/spark/SparkMethod.java b/spark/src/main/java/org/apache/calcite/adapter/spark/SparkMethod.java index b329e63..8b712f1 100644 --- a/spark/src/main/java/org/apache/calcite/adapter/spark/SparkMethod.java +++ b/spark/src/main/java/org/apache/calcite/adapter/spark/SparkMethod.java @@ -44,8 +44,7 @@ public enum SparkMethod { public final Method method; - private static final HashMap<Method, SparkMethod> MAP = - new HashMap<Method, SparkMethod>(); + private static final HashMap<Method, SparkMethod> MAP = new HashMap<>(); static { for (SparkMethod method : SparkMethod.values()) {