blob: cf53e6b856328b5d1283283d578900aca604f513 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package xyz.driver.pdsuicommon.utils
import xyz.driver.pdsuicommon.db.SearchFilterBinaryOperation.Eq
import xyz.driver.pdsuicommon.db.SearchFilterExpr
import xyz.driver.pdsuicommon.db.SearchFilterExpr.{Atom, Dimension}
import xyz.driver.pdsuicommon.logging._
import scala.util.{Failure, Success, Try}
object ServiceUtils extends PhiLogging {
def findEqFilter(filter: SearchFilterExpr, fieldName: String): Option[SearchFilterExpr] = {
findEqFilter(filter, Dimension(None, fieldName))
}
def findEqFilter(filter: SearchFilterExpr, dimension: Dimension): Option[SearchFilterExpr] = {
filter.find {
case Atom.Binary(dimension, Eq, _) => true
case _ => false
}
}
def convertIdInFilterToLong(value: AnyRef): Option[Long] = {
Try(value.toString.toLong) match {
case Success(id) =>
Option(id)
case Failure(e) =>
logger.error(phi"Incorrect id format in filter $e")
None
}
}
}
|