diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDesc.java index 7b8c5d1233..4eba53390b 100755 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDesc.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDesc.java @@ -21,8 +21,11 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.List; +import java.util.Objects; +import org.apache.commons.collections4.CollectionUtils; import org.apache.hadoop.hive.ql.lib.Node; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo; @@ -40,10 +43,7 @@ public ExprNodeDesc() { } public ExprNodeDesc(TypeInfo typeInfo) { - this.typeInfo = typeInfo; - if (typeInfo == null) { - throw new RuntimeException("typeInfo cannot be null!"); - } + this.typeInfo = Objects.requireNonNull(typeInfo, "typeInfo cannot be null"); } @Override @@ -73,7 +73,7 @@ public TypeInfo getTypeInfo() { } public void setTypeInfo(TypeInfo typeInfo) { - this.typeInfo = typeInfo; + this.typeInfo = Objects.requireNonNull(typeInfo, "typeInfo cannot be null"); } public String getExprString() { @@ -100,12 +100,12 @@ public String getTypeString() { } public List getCols() { - return null; + return Collections.emptyList(); } @Override public List getChildren() { - return null; + return Collections.emptyList(); } @Override @@ -149,11 +149,10 @@ public int hashCode() { /* helper function to allow Set()/Collection() operations with ExprNodeDesc */ public static Collection transform( Collection descs) { - if (descs == null) { - return null; + if (CollectionUtils.isEmpty(descs)) { + return Collections.emptyList(); } - final Collection wrapped = new ArrayList( - descs.size()); + final Collection wrapped = new ArrayList<>(descs.size()); for (ExprNodeDesc desc : descs) { wrapped.add(new ExprNodeDescEqualityWrapper(desc)); }