public function getSourceUserdb($source) { $userdbs = array(); $sourceName = $source->getName(); foreach ($this->tReadUserdbs as $userdb) { foreach ($userdb->getSourceNames() as $userdbSourceName) { if ($sourceName == $userdbSourceName) { $userdbs[] = $userdb; break; } } } $userdbCount = count($userdbs); if ($userdbCount == 0) { $userdbs[] = new MonitorUserdb(Userdb::TYPE_NONE); } elseif ($userdbCount > 1) { throw new Exception(Log::err("Unexpected number ({$userdbCount}) of user db references to {$source}")); } $userdb = $userdbs[0]; return Userdb::create($userdb->getType(), $userdb->getProperties()); }