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}"