case class ExpressionCheckCalculator(checkId: String, formula: String) extends CheckCalculator with FormulaParser with Product with Serializable
Expression check calculator. Verifies if boolean expression defined in check evalutes to true (success) or false (failure).
- checkId
Check ID
- formula
Boolean expression to evaluate
- To do
Expression check calculator is quite different from other check calculators and, therefore, does not conform to basic CheckCalculator class. Thus, implementation of Expression check calculator requires that most of the abstract methods from CheckCalculator be overridden to throw UnsupportedOperationException. In addition, there are plans to deprecate Trend Checks in the future due to their functionality now is moved (and enhanced) to trend metrics. Concluding the above, it is quite likely, that check calculators will be refactored later without changing the external API.
- Alphabetic
- By Inheritance
- ExpressionCheckCalculator
- Serializable
- Serializable
- Product
- Equals
- FormulaParser
- JavaTokenParsers
- RegexParsers
- Parsers
- CheckCalculator
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
ExpressionCheckCalculator(checkId: String, formula: String)
- checkId
Check ID
- formula
Boolean expression to evaluate
Type Members
-
type
Elem = Char
- Definition Classes
- RegexParsers → Parsers
-
case class
Error extends NoSuccess with Product with Serializable
- Definition Classes
- Parsers
-
case class
Failure extends NoSuccess with Product with Serializable
- Definition Classes
- Parsers
-
type
Input = Reader[Elem]
- Definition Classes
- Parsers
-
sealed abstract
class
NoSuccess extends ParseResult[Nothing]
- Definition Classes
- Parsers
-
trait
OnceParser[+T] extends Parser[T]
- Definition Classes
- Parsers
-
sealed abstract
class
ParseResult[+T] extends AnyRef
- Definition Classes
- Parsers
-
abstract
class
Parser[+T] extends (Input) ⇒ ParseResult[T]
- Definition Classes
- Parsers
-
case class
Success[+T] extends ParseResult[T] with Product with Serializable
- Definition Classes
- Parsers
-
case class
~[+a, +b] extends Product with Serializable
- Definition Classes
- Parsers
-
case class
BinaryFunc(t1: Tree, t2: Tree, f: (Double, Double) ⇒ Double) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
-
case class
Bool(t: Boolean) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
-
case class
BoolBinaryFunc(t1: Tree, t2: Tree, f: (Boolean, Boolean) ⇒ Boolean) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
-
case class
BoolCompareFunc(t1: Tree, t2: Tree, f: (Double, Double) ⇒ Boolean) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
-
case class
BoolUnaryFunc(t1: Tree, f: (Boolean) ⇒ Boolean) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
-
case class
CaseWhen(cases: Seq[(Tree, Tree)], elseBranch: Tree) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
-
case class
IfElse(condition: Tree, ifBranch: Tree, elseBranch: Tree) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
-
case class
Num(t: Double) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
-
sealed abstract
class
Tree extends AnyRef
- Definition Classes
- FormulaParser
-
case class
UnaryFunc(t1: Tree, f: (Double) ⇒ Double) extends Tree with Product with Serializable
- Definition Classes
- FormulaParser
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
OnceParser[T](f: (Input) ⇒ ParseResult[T]): Parser[T] with OnceParser[T]
- Definition Classes
- Parsers
-
def
Parser[T](f: (Input) ⇒ ParseResult[T]): Parser[T]
- Definition Classes
- Parsers
-
def
accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
- Definition Classes
- Parsers
-
def
accept[ES](es: ES)(implicit f: (ES) ⇒ List[Elem]): Parser[List[Elem]]
- Definition Classes
- Parsers
-
implicit
def
accept(e: Elem): Parser[Elem]
- Definition Classes
- Parsers
-
def
acceptIf(p: (Elem) ⇒ Boolean)(err: (Elem) ⇒ String): Parser[Elem]
- Definition Classes
- Parsers
-
def
acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
- Definition Classes
- Parsers
-
def
acceptSeq[ES](es: ES)(implicit f: (ES) ⇒ Iterable[Elem]): Parser[List[Elem]]
- Definition Classes
- Parsers
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
baseMetric: String
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
def
chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]
- Definition Classes
- Parsers
-
def
chainl1[T](p: ⇒ Parser[T], q: ⇒ Parser[(T, T) ⇒ T]): Parser[T]
- Definition Classes
- Parsers
-
def
chainr1[T, U](p: ⇒ Parser[T], q: ⇒ Parser[(T, U) ⇒ U], combine: (T, U) ⇒ U, first: U): Parser[U]
- Definition Classes
- Parsers
-
val
checkId: String
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
val
checkName: CheckName
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
commit[T](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- Parsers
-
val
compareMetric: Option[String]
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
def
decimalNumber: Parser[String]
- Definition Classes
- JavaTokenParsers
-
def
elem(e: Elem): Parser[Elem]
- Definition Classes
- Parsers
-
def
elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]
- Definition Classes
- Parsers
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
err(msg: String): Parser[Nothing]
- Definition Classes
- RegexParsers → Parsers
-
def
errorMsg(e: Throwable): String
Generates error message provided with caught error.
Generates error message provided with caught error.
- e
Error that has been caught
- returns
Error message
- Attributes
- protected
- Definition Classes
- CheckCalculator
-
def
evalArithmetic(formula: String): Double
API to parse and evaluate arithmetic expression.
API to parse and evaluate arithmetic expression.
- formula
Arithmetic expression to parse
- returns
Double evaluation result.
- Definition Classes
- FormulaParser
-
def
evalBoolean(formula: String): Boolean
API to parse and evaluate boolean expression.
API to parse and evaluate boolean expression.
- formula
Boolean expression to parse
- returns
Boolean evaluation result.
- Definition Classes
- FormulaParser
-
def
failure(msg: String): Parser[Nothing]
- Definition Classes
- Parsers
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
floatingPointNumber: Parser[String]
- Definition Classes
- JavaTokenParsers
- val formula: String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getDetailsMsg(compareMetricResult: Option[MetricCalculatorResult]): Option[String]
Expression checks have completely different evaluation approach and, therefore, this method is unsupported.
Expression checks have completely different evaluation approach and, therefore, this method is unsupported.
- compareMetricResult
Compare metric result
- returns
Check details message
- Attributes
- protected
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
def
getMessage(baseMetricResult: MetricCalculatorResult, compareMetricResult: Option[MetricCalculatorResult], status: CalculatorStatus, statusString: String): String
Generates comprehensive check message
Generates comprehensive check message
- baseMetricResult
Base metric result
- compareMetricResult
Compare metric result
- status
Check evaluation status
- statusString
Check evaluation status string
- returns
Check message
- Attributes
- protected
- Definition Classes
- CheckCalculator
-
def
getOptionHead(resSeq: Option[Seq[MetricCalculatorResult]]): Option[MetricCalculatorResult]
Safely gets head out of optional sequence of metric calculator results.
Safely gets head out of optional sequence of metric calculator results.
- resSeq
Optional sequence of metric calculator results
- returns
Optional metric calculator result
- Attributes
- protected
- Definition Classes
- CheckCalculator
-
def
guard[T](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- Parsers
-
def
handleWhiteSpace(source: CharSequence, offset: Int): Int
- Attributes
- protected
- Definition Classes
- RegexParsers
-
def
ident: Parser[String]
- Definition Classes
- JavaTokenParsers
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
implicit
def
literal(s: String): Parser[String]
- Definition Classes
- RegexParsers
-
def
log[T](p: ⇒ Parser[T])(name: String): Parser[T]
- Definition Classes
- Parsers
-
def
mkList[T]: (~[T, List[T]]) ⇒ List[T]
- Definition Classes
- Parsers
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
not[T](p: ⇒ Parser[T]): Parser[Unit]
- Definition Classes
- Parsers
-
val
notFoundErrMsg: String
- Attributes
- protected
- Definition Classes
- CheckCalculator
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
opt[T](p: ⇒ Parser[T]): Parser[Option[T]]
- Definition Classes
- Parsers
-
def
parse[T](p: Parser[T], in: Reader): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parse[T](p: Parser[T], in: CharSequence): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parse[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parseAll[T](p: Parser[T], in: CharSequence): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parseAll[T](p: Parser[T], in: Reader): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parseAll[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
phrase[T](p: Parser[T]): Parser[T]
- Definition Classes
- RegexParsers → Parsers
-
def
positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- RegexParsers → Parsers
-
def
prepareFormula(formula: String): String
Prepares formula for rendering and evaluation by removing white space characters, repetitive spaces and also by trimming leading and and trailing spaces.
Prepares formula for rendering and evaluation by removing white space characters, repetitive spaces and also by trimming leading and and trailing spaces.
- formula
Raw formula to prepare
- returns
Formula prepared for futher rendering and evaluation.
- Definition Classes
- FormulaParser
-
implicit
def
regex(r: Regex): Parser[String]
- Definition Classes
- RegexParsers
-
def
rep[T](p: ⇒ Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
rep1[T](first: ⇒ Parser[T], p0: ⇒ Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
rep1[T](p: ⇒ Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
rep1sep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
repN[T](num: Int, p: ⇒ Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
repNM[T](n: Int, m: Int, p: Parser[T], sep: Parser[Any]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
repsep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
resultOnError(err: Throwable, baseMetricResults: Seq[MetricCalculatorResult], compareMetricResults: Option[Seq[MetricCalculatorResult]]): CheckCalculatorResult
Expression checks have completely different evaluation approach and, therefore, this method is unsupported.
Expression checks have completely different evaluation approach and, therefore, this method is unsupported.
- err
Error thrown during check evaluation
- baseMetricResults
Sequence of base metric result for metric ID referenced by this check
- compareMetricResults
Sequence of compare metric result for compareMetric ID referenced by this check
- returns
Check result with Error status and captured error message
- Attributes
- protected
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
def
resultOnMetricNotFound: CheckCalculatorResult
Expression checks have completely different evaluation approach and, therefore, this method is unsupported.
Expression checks have completely different evaluation approach and, therefore, this method is unsupported.
- returns
Check result with Error status and 'not found' error message
- Attributes
- protected
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
def
run(metricResults: MetricResults)(implicit jobId: String, manager: Option[DqStorageManager], settings: AppSettings, spark: SparkSession, fs: FileSystem): CheckCalculatorResult
Safely runs check provided with all the metric calculators results.
Safely runs check provided with all the metric calculators results. There are three scenarios covered:
- Check evaluates normally and returns either Success or Failure status (depending on whether check condition was met)
- Check evaluation throws runtime error: check result with Error status and corresponding error message is returned.
- Metric results are not found for metric ID defined in the check: check cannot be run at all and check result with Error status and corresponding message is returned.
- metricResults
All computed metrics
- jobId
Current Job ID
- manager
Implicit storage manager used to load historical results
- settings
Implicit application settings
- spark
Implicit spark session object
- fs
Implicit hadoop filesystem object
- returns
Check result
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
def
skipWhitespace: Boolean
- Definition Classes
- RegexParsers
-
def
stringLiteral: Parser[String]
- Definition Classes
- JavaTokenParsers
-
def
success[T](v: T): Parser[T]
- Definition Classes
- Parsers
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
tryToRun(baseMetricResults: Seq[MetricCalculatorResult], compareMetricResults: Option[Seq[MetricCalculatorResult]])(implicit jobId: String, manager: Option[DqStorageManager], settings: AppSettings, spark: SparkSession, fs: FileSystem): CheckCalculatorResult
Expression checks have completely different evaluation approach and, therefore, this method is unsupported.
Expression checks have completely different evaluation approach and, therefore, this method is unsupported.
- baseMetricResults
Sequence of base metric result for metric ID referenced by this check
- compareMetricResults
Sequence of compare metric result for compareMetric ID referenced by this check
- jobId
Current Job ID
- manager
Implicit storage manager used to load historical results
- settings
Implicit application settings
- spark
Implicit spark session object
- fs
Implicit hadoop filesystem object
- returns
Check evaluation result with either Success or Failure status
- Attributes
- protected
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
val
whiteSpace: Regex
- Attributes
- protected
- Definition Classes
- RegexParsers
-
def
wholeNumber: Parser[String]
- Definition Classes
- JavaTokenParsers
-
def
windowString: Option[String]
- Attributes
- protected
- Definition Classes
- ExpressionCheckCalculator → CheckCalculator