override fun evalFilterInner()

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
    }