Path: blob/master/src/applications/harbormaster/query/HarbormasterBuildLogSearchEngine.php
12256 views
<?php12final class HarbormasterBuildLogSearchEngine3extends PhabricatorApplicationSearchEngine {45public function getResultTypeDescription() {6return pht('Harbormaster Build Logs');7}89public function getApplicationClassName() {10return 'PhabricatorHarbormasterApplication';11}1213public function newQuery() {14return new HarbormasterBuildLogQuery();15}1617protected function buildCustomSearchFields() {18return array(19id(new PhabricatorPHIDsSearchField())20->setLabel(pht('Build Targets'))21->setKey('buildTargetPHIDs')22->setAliases(23array(24'buildTargetPHID',25'buildTargets',26'buildTarget',27'targetPHIDs',28'targetPHID',29'targets',30'target',31))32->setDescription(33pht('Search for logs that belong to a particular build target.')),34);35}3637protected function buildQueryFromParameters(array $map) {38$query = $this->newQuery();3940if ($map['buildTargetPHIDs']) {41$query->withBuildTargetPHIDs($map['buildTargetPHIDs']);42}4344return $query;45}4647protected function getURI($path) {48return '/harbormaster/log/'.$path;49}5051protected function getBuiltinQueryNames() {52return array(53'all' => pht('All Builds'),54);55}5657public function buildSavedQueryFromBuiltin($query_key) {58$query = $this->newSavedQuery();59$query->setQueryKey($query_key);6061switch ($query_key) {62case 'all':63return $query;64}6566return parent::buildSavedQueryFromBuiltin($query_key);67}6869protected function renderResultList(70array $builds,71PhabricatorSavedQuery $query,72array $handles) {7374// For now, this SearchEngine is only for driving the API.75throw new PhutilMethodNotImplementedException();76}7778}798081