You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@griffin.apache.org by gu...@apache.org on 2018/07/12 09:29:04 UTC
incubator-griffin git commit: Head option
Repository: incubator-griffin
Updated Branches:
refs/heads/master 6489e64c8 -> 2bdebecc5
Head option
Author: Eugene <to...@163.com>
Closes #345 from toyboxman/headOption.
Project: http://git-wip-us.apache.org/repos/asf/incubator-griffin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-griffin/commit/2bdebecc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-griffin/tree/2bdebecc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-griffin/diff/2bdebecc
Branch: refs/heads/master
Commit: 2bdebecc57420bd612e66bb72e9766f41534783a
Parents: 6489e64
Author: Eugene <to...@163.com>
Authored: Thu Jul 12 17:28:56 2018 +0800
Committer: Lionel Liu <bh...@163.com>
Committed: Thu Jul 12 17:28:56 2018 +0800
----------------------------------------------------------------------
.../org/apache/griffin/measure/sink/MultiSinks.scala | 14 ++++++++------
.../measure/step/builder/dsl/parser/BasicParser.scala | 8 ++++----
.../builder/dsl/transform/ProfilingExpr2DQSteps.scala | 2 +-
3 files changed, 13 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/2bdebecc/measure/src/main/scala/org/apache/griffin/measure/sink/MultiSinks.scala
----------------------------------------------------------------------
diff --git a/measure/src/main/scala/org/apache/griffin/measure/sink/MultiSinks.scala b/measure/src/main/scala/org/apache/griffin/measure/sink/MultiSinks.scala
index 93a317f..cb19a4f 100644
--- a/measure/src/main/scala/org/apache/griffin/measure/sink/MultiSinks.scala
+++ b/measure/src/main/scala/org/apache/griffin/measure/sink/MultiSinks.scala
@@ -27,14 +27,16 @@ case class MultiSinks(persists: Iterable[Sink]) extends Sink {
val block: Boolean = false
- val metricName: String = persists match {
- case Nil => ""
- case _ => persists.head.metricName
+ val headSink: Sink = persists.headOption.orNull
+
+ val metricName: String = headSink match {
+ case null => ""
+ case _ => headSink.metricName
}
- val timeStamp: Long = persists match {
- case Nil => 0
- case _ => persists.head.timeStamp
+ val timeStamp: Long = headSink match {
+ case null => 0
+ case _ => headSink.timeStamp
}
val config: Map[String, Any] = Map[String, Any]()
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/2bdebecc/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/parser/BasicParser.scala
----------------------------------------------------------------------
diff --git a/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/parser/BasicParser.scala b/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/parser/BasicParser.scala
index ac540b0..ba6ac2c 100644
--- a/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/parser/BasicParser.scala
+++ b/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/parser/BasicParser.scala
@@ -261,14 +261,14 @@ trait BasicParser extends JavaTokenParsers with Serializable {
}
def binaryMathExpressions: Seq[Parser[MathExpr]] =
MATH_BINARIES.foldLeft(List[Parser[MathExpr]](unaryMathExpression)) { (parsers, binaryParser) =>
- val pre = parsers.head
+ val pre = parsers.headOption.orNull
val cur = pre ~ rep(binaryParser ~ pre) ^^ {
case a ~ Nil => a
case a ~ list => BinaryMathExpr(a, list.map(c => (c._1, c._2)))
}
cur :: parsers
}
- def mathExpression: Parser[MathExpr] = binaryMathExpressions.head
+ def mathExpression: Parser[MathExpr] = binaryMathExpressions.headOption.orNull
/**
* -- logical expr --
@@ -314,14 +314,14 @@ trait BasicParser extends JavaTokenParsers with Serializable {
}
def binaryLogicalExpressions: Seq[Parser[LogicalExpr]] =
LOGICAL_BINARIES.foldLeft(List[Parser[LogicalExpr]](unaryLogicalExpression)) { (parsers, binaryParser) =>
- val pre = parsers.head
+ val pre = parsers.headOption.orNull
val cur = pre ~ rep(binaryParser ~ pre) ^^ {
case a ~ Nil => a
case a ~ list => BinaryLogicalExpr(a, list.map(c => (c._1, c._2)))
}
cur :: parsers
}
- def logicalExpression: Parser[LogicalExpr] = binaryLogicalExpressions.head
+ def logicalExpression: Parser[LogicalExpr] = binaryLogicalExpressions.headOption.orNull
/**
* -- expression --
http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/2bdebecc/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/transform/ProfilingExpr2DQSteps.scala
----------------------------------------------------------------------
diff --git a/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/transform/ProfilingExpr2DQSteps.scala b/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/transform/ProfilingExpr2DQSteps.scala
index 489c5c4..ea527c5 100644
--- a/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/transform/ProfilingExpr2DQSteps.scala
+++ b/measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/transform/ProfilingExpr2DQSteps.scala
@@ -62,7 +62,7 @@ case class ProfilingExpr2DQSteps(context: DQContext,
val analyzer = ProfilingAnalyzer(profilingExpr, sourceName)
val selExprDescs = analyzer.selectionExprs.map { sel =>
val alias = sel match {
- case s: AliasableExpr if (s.alias.nonEmpty) => s" AS `${s.alias.get}`"
+ case s: AliasableExpr if (s.alias.nonEmpty) => s" AS `${s.alias.getOrElse{""}}`"
case _ => ""
}
s"${sel.desc}${alias}"