You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by hu...@apache.org on 2022/07/26 07:32:47 UTC
[doris] branch master updated: [enhance](*): improve code about optional (#11153)
This is an automated email from the ASF dual-hosted git repository.
huajianlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new a3df2e5982 [enhance](*): improve code about optional (#11153)
a3df2e5982 is described below
commit a3df2e59827cedfaa1cdaeed78c329cb24b99b8c
Author: jakevin <ja...@gmail.com>
AuthorDate: Tue Jul 26 15:32:42 2022 +0800
[enhance](*): improve code about optional (#11153)
improve code about optional
---
.../main/java/org/apache/doris/analysis/AlterPolicyStmt.java | 7 +++----
.../java/org/apache/doris/load/loadv2/SparkRepository.java | 12 ++----------
.../org/apache/doris/load/routineload/RoutineLoadJob.java | 11 ++++-------
.../apache/doris/load/routineload/RoutineLoadManager.java | 4 +---
.../nereids/pattern/generator/PatternGeneratorAnalyzer.java | 7 +++----
.../nereids/pattern/generator/javaast/ClassDeclaration.java | 12 +++---------
.../nereids/pattern/generator/javaast/EnumDeclaration.java | 4 +---
.../pattern/generator/javaast/IdentifyTypeArgumentsPair.java | 8 +++-----
.../pattern/generator/javaast/InterfaceDeclaration.java | 8 ++------
.../nereids/pattern/generator/javaast/TypeDeclaration.java | 6 ++----
.../nereids/pattern/generator/javaast/TypeParameter.java | 7 ++-----
.../doris/nereids/pattern/generator/javaast/TypeType.java | 7 ++-----
.../rules/rewrite/logical/PushPredicateThroughJoin.java | 6 +-----
.../doris/nereids/trees/plans/logical/LogicalPlan.java | 6 +-----
.../doris/nereids/trees/plans/physical/PhysicalHashJoin.java | 6 +++---
.../src/main/java/org/apache/doris/policy/PolicyMgr.java | 8 +++-----
.../src/main/java/org/apache/doris/qe/ConnectContext.java | 2 +-
17 files changed, 37 insertions(+), 84 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterPolicyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterPolicyStmt.java
index ab94a30830..3b145cd55e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterPolicyStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterPolicyStmt.java
@@ -70,10 +70,9 @@ public class AlterPolicyStmt extends DdlStmt {
.getPolicyMgr().getPoliciesByType(PolicyTypeEnum.STORAGE);
Optional<Policy> hasPolicy = policiesByType.stream()
.filter(policy -> policy.getPolicyName().equals(this.policyName)).findAny();
- if (!hasPolicy.isPresent()) {
- throw new AnalysisException("Unknown storage policy: " + this.policyName);
- }
- StoragePolicy storagePolicy = (StoragePolicy) hasPolicy.get();
+ StoragePolicy storagePolicy = (StoragePolicy) hasPolicy.orElseThrow(
+ () -> new AnalysisException("Unknown storage policy: " + this.policyName)
+ );
// default storage policy use alter storage policy to add s3 resource.
if (!policyName.equalsIgnoreCase(StoragePolicy.DEFAULT_STORAGE_POLICY_NAME) && properties.containsKey(
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/SparkRepository.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/SparkRepository.java
index 753a1fc192..4eb9ab881b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/SparkRepository.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/SparkRepository.java
@@ -342,23 +342,15 @@ public class SparkRepository {
}
public SparkLibrary getDppLibrary() {
- SparkLibrary result = null;
Optional<SparkLibrary> library = libraries.stream()
.filter(lib -> lib.libType == SparkLibrary.LibType.DPP).findFirst();
- if (library.isPresent()) {
- result = library.get();
- }
- return result;
+ return library.orElse(null);
}
public SparkLibrary getSpark2xLibrary() {
- SparkLibrary result = null;
Optional<SparkLibrary> library = libraries.stream()
.filter(lib -> lib.libType == SparkLibrary.LibType.SPARK2X).findFirst();
- if (library.isPresent()) {
- result = library.get();
- }
- return result;
+ return library.orElse(null);
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java
index c8e7d3b532..3c3234a15e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java
@@ -854,13 +854,10 @@ public abstract class RoutineLoadJob extends AbstractTxnStateChangeCallback impl
routineLoadTaskInfoList.stream()
.filter(entity -> entity.getTxnId() == txnState.getTransactionId()).findFirst();
if (!routineLoadTaskInfoOptional.isPresent()) {
- switch (transactionStatus) {
- case COMMITTED:
- throw new TransactionException("txn " + txnState.getTransactionId()
- + " could not be " + transactionStatus
- + " while task " + txnState.getLabel() + " has been aborted.");
- default:
- break;
+ if (transactionStatus == TransactionStatus.COMMITTED) {
+ throw new TransactionException("txn " + txnState.getTransactionId()
+ + " could not be " + transactionStatus
+ + " while task " + txnState.getLabel() + " has been aborted.");
}
}
passCheck = true;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java
index 2136308e60..556e693558 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadManager.java
@@ -207,9 +207,7 @@ public class RoutineLoadManager implements Writable {
Optional<RoutineLoadJob> optional = routineLoadJobList.parallelStream()
.filter(entity -> entity.getName().equals(name))
.filter(entity -> !entity.getState().isFinalState()).findFirst();
- if (optional.isPresent()) {
- return true;
- }
+ return optional.isPresent();
}
}
return false;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java
index 5b544c0e7a..eb8e6b5d98 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGeneratorAnalyzer.java
@@ -83,7 +83,7 @@ public class PatternGeneratorAnalyzer {
List<PatternGenerator> generators = planClassMap.entrySet()
.stream()
.map(kv -> PatternGenerator.create(this, kv.getKey(), kv.getValue()))
- .filter(generator -> generator.isPresent())
+ .filter(Optional::isPresent)
.map(Optional::get)
.sorted((g1, g2) -> {
// logical first
@@ -135,9 +135,8 @@ public class PatternGeneratorAnalyzer {
}
} else if (typeDeclaration instanceof ClassDeclaration) {
ClassDeclaration classDeclaration = (ClassDeclaration) typeDeclaration;
- if (classDeclaration.extendsType.isPresent()) {
- analyzeClass(currentParentClasses, typeDeclaration, classDeclaration.extendsType.get());
- }
+ classDeclaration.extendsType.ifPresent(
+ typeType -> analyzeClass(currentParentClasses, typeDeclaration, typeType));
if (!classDeclaration.implementTypes.isEmpty()) {
for (TypeType implementType : classDeclaration.implementTypes) {
analyzeClass(currentParentClasses, typeDeclaration, implementType);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/ClassDeclaration.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/ClassDeclaration.java
index 2f1bfa1333..9f86156618 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/ClassDeclaration.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/ClassDeclaration.java
@@ -49,9 +49,7 @@ public class ClassDeclaration extends TypeDeclaration {
@Override
public String toString() {
StringBuilder buffer = new StringBuilder();
- if (packageName.isPresent()) {
- buffer.append("package ").append(packageName.get()).append(";\n\n");
- }
+ packageName.ifPresent(qualifiedName -> buffer.append("package ").append(qualifiedName).append(";\n\n"));
if (!imports.isEmpty()) {
for (ImportDeclaration importDeclaration : imports) {
@@ -65,13 +63,9 @@ public class ClassDeclaration extends TypeDeclaration {
mod += " ";
}
buffer.append(mod).append("class ").append(name);
- if (typeParameters.isPresent()) {
- buffer.append(typeParameters.get());
- }
+ typeParameters.ifPresent(buffer::append);
buffer.append(" ");
- if (extendsType.isPresent()) {
- buffer.append("extends ").append(extendsType.get()).append(" ");
- }
+ extendsType.ifPresent(typeType -> buffer.append("extends ").append(typeType).append(" "));
if (!implementTypes.isEmpty()) {
buffer.append("implements ").append(Joiner.on(", ").join(implementTypes)).append(" ");
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/EnumDeclaration.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/EnumDeclaration.java
index 8a813e36db..f648cd5a46 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/EnumDeclaration.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/EnumDeclaration.java
@@ -39,9 +39,7 @@ public class EnumDeclaration extends TypeDeclaration {
@Override
public String toString() {
StringBuilder buffer = new StringBuilder();
- if (packageName.isPresent()) {
- buffer.append("package ").append(packageName.get()).append(";\n\n");
- }
+ packageName.ifPresent(qualifiedName -> buffer.append("package ").append(qualifiedName).append(";\n\n"));
if (!imports.isEmpty()) {
for (ImportDeclaration importDeclaration : imports) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/IdentifyTypeArgumentsPair.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/IdentifyTypeArgumentsPair.java
index 5bde5b6893..d862d91b19 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/IdentifyTypeArgumentsPair.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/IdentifyTypeArgumentsPair.java
@@ -32,10 +32,8 @@ public class IdentifyTypeArgumentsPair implements JavaAstNode {
@Override
public String toString() {
- if (typeArguments.isPresent()) {
- return identifier + typeArguments.get();
- } else {
- return identifier;
- }
+ return typeArguments
+ .map(arguments -> identifier + arguments)
+ .orElse(identifier);
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/InterfaceDeclaration.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/InterfaceDeclaration.java
index d547d30aa1..79b6d0910b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/InterfaceDeclaration.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/InterfaceDeclaration.java
@@ -40,9 +40,7 @@ public class InterfaceDeclaration extends TypeDeclaration {
@Override
public String toString() {
StringBuilder buffer = new StringBuilder();
- if (packageName.isPresent()) {
- buffer.append("package ").append(packageName.get()).append(";\n\n");
- }
+ packageName.ifPresent(qualifiedName -> buffer.append("package ").append(qualifiedName).append(";\n\n"));
if (!imports.isEmpty()) {
for (ImportDeclaration importDeclaration : imports) {
@@ -55,9 +53,7 @@ public class InterfaceDeclaration extends TypeDeclaration {
mod += " ";
}
buffer.append(mod).append("interface ").append(name);
- if (typeParameters.isPresent()) {
- buffer.append(typeParameters.get());
- }
+ typeParameters.ifPresent(buffer::append);
buffer.append(" ");
if (!extendsTypes.isEmpty()) {
buffer.append("extends ").append(Joiner.on(", ").join(extendsTypes)).append(" ");
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeDeclaration.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeDeclaration.java
index 5692e95aa2..1ce248595a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeDeclaration.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeDeclaration.java
@@ -48,9 +48,7 @@ public abstract class TypeDeclaration implements JavaAstNode {
/** function to concat package name and type name. */
public static String getFullQualifiedName(Optional<QualifiedName> packageName, String name) {
- if (packageName.isPresent()) {
- return Joiner.on(".").join(packageName.get().identifiers) + "." + name;
- }
- return name;
+ return packageName.map(qualifiedName -> Joiner.on(".").join(qualifiedName.identifiers) + "." + name)
+ .orElse(name);
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeParameter.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeParameter.java
index 3a482bdd8c..dde78bc99b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeParameter.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeParameter.java
@@ -32,10 +32,7 @@ public class TypeParameter implements JavaAstNode {
@Override
public String toString() {
- if (typeBound.isPresent()) {
- return identifier + " extends " + typeBound.get();
- } else {
- return identifier;
- }
+ return typeBound.map(bound -> identifier + " extends " + bound)
+ .orElse(identifier);
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeType.java
index 82937c7898..b6e75b53f9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeType.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/javaast/TypeType.java
@@ -31,10 +31,7 @@ public class TypeType implements JavaAstNode {
@Override
public String toString() {
- if (primitiveType.isPresent()) {
- return primitiveType.get();
- } else {
- return classOrInterfaceType.get().toString();
- }
+ return primitiveType
+ .orElseGet(() -> classOrInterfaceType.get().toString());
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/PushPredicateThroughJoin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/PushPredicateThroughJoin.java
index 0773534b9d..ff76ac1006 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/PushPredicateThroughJoin.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/PushPredicateThroughJoin.java
@@ -71,15 +71,11 @@ public class PushPredicateThroughJoin extends OneRewriteRuleFactory {
LogicalJoin<GroupPlan, GroupPlan> join = filter.child();
Expression wherePredicates = filter.getPredicates();
- Expression onPredicates = BooleanLiteral.TRUE;
+ Expression onPredicates = join.getCondition().orElse(BooleanLiteral.TRUE);
List<Expression> otherConditions = Lists.newArrayList();
List<Expression> eqConditions = Lists.newArrayList();
- if (join.getCondition().isPresent()) {
- onPredicates = join.getCondition().get();
- }
-
List<Slot> leftInput = join.left().getOutput();
List<Slot> rightInput = join.right().getOutput();
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPlan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPlan.java
index 9cb2fcad50..70b694c6ff 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPlan.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPlan.java
@@ -41,10 +41,6 @@ public interface LogicalPlan extends Plan {
}
default <C> LogicalPlan optionalMap(Optional<C> ctx, Supplier<LogicalPlan> f) {
- if (ctx.isPresent()) {
- return f.get();
- } else {
- return this;
- }
+ return ctx.map(a -> f.get()).orElse(this);
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java
index a04e0baf83..a2f53f2e3e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java
@@ -86,9 +86,9 @@ public class PhysicalHashJoin<
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("PhysicalHashJoin ([").append(joinType).append("]");
- if (condition.isPresent()) {
- sb.append(", [").append(condition.get()).append("]");
- }
+ condition.ifPresent(
+ expression -> sb.append(", [").append(expression).append("]")
+ );
sb.append(")");
return sb.toString();
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/policy/PolicyMgr.java b/fe/fe-core/src/main/java/org/apache/doris/policy/PolicyMgr.java
index 7759ab381b..a47cb31215 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/policy/PolicyMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/policy/PolicyMgr.java
@@ -413,11 +413,9 @@ public class PolicyMgr implements Writable {
}
Optional<Policy> policy = findPolicy(storagePolicyName, PolicyTypeEnum.STORAGE);
-
- if (!policy.isPresent()) {
- throw new DdlException("Storage policy(" + storagePolicyName + ") dose not exist.");
- }
- StoragePolicy storagePolicy = (StoragePolicy) policy.get();
+ StoragePolicy storagePolicy = (StoragePolicy) policy.orElseThrow(
+ () -> new DdlException("Storage policy(" + storagePolicyName + ") dose not exist.")
+ );
storagePolicy.modifyProperties(properties);
// log alter
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
index 6ce06fefca..4f0953b1ea 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
@@ -444,7 +444,7 @@ public class ConnectContext {
public void setDatabase(String db) {
currentDb = db;
Optional<DatabaseIf> dbInstance = getCurrentDataSource().getDb(db);
- currentDbId = dbInstance.isPresent() ? dbInstance.get().getId() : -1;
+ currentDbId = dbInstance.map(DatabaseIf::getId).orElse(-1L);
}
public void setExecutor(StmtExecutor executor) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org