in src/main/kotlin/jetbrains/buildServer/server/querylang/ast/commonConditionContainers.kt [106:132]
override fun evalFilterInner(filter: Filter<WTemplate>): EvalResult<WTemplate>? {
when (filter) {
is IdFilter -> {
val (restFilter, ids) = filter.transformedEval()
if (restFilter is NoneObjectFilter) {
val vcsRoots =
ids.mapNotNull { myProjectManager.findBuildTypeTemplateByExternalId(it) }.mapNotNull { it.wrap() }
return EvalResult(NoneObjectFilter(), vcsRoots)
}
}
is ParentFilter -> {
val (remFilter, projects) = filter.transformedEval()
val objs =
projects.flatMap { project -> project.projectEx.ownBuildTypeTemplates }.mapNotNull { it?.wrap() }
return EvalResult(remFilter, objs)
}
is ProjectFilter -> {
val (remFilter, projects) = filter.transformedEval()
if (projects.size > 2) {
return null
}
val objs = projects.flatMap { project -> project.projectEx.buildTypeTemplates }.mapNotNull {it?.wrap()}
return EvalResult(remFilter, objs)
}
}
return null
}