$endpoint) { if ($endpoint->getName() == $endpointName) { return $endpoint; } } } /** * @param $endpointName * @param $regionId * @param $product * @param $domain */ private static function addEndpoint_($endpointName, $regionId, $product, $domain) { $regionIds = array($regionId); $productsDomains = array(new ProductDomain($product, $domain)); $endpoint = new Endpoint($endpointName, $regionIds, $productsDomains); self::$endpoints[] = $endpoint; } /** * @param string $regionId * @param string $product * @param string $domain * @param Endpoint $endpoint */ private static function updateEndpoint($regionId, $product, $domain, $endpoint) { $regionIds = $endpoint->getRegionIds(); if (!in_array($regionId, $regionIds)) { $regionIds[] = $regionId; $endpoint->setRegionIds($regionIds); } $productDomains = $endpoint->getProductDomains(); if (null == self::findProductDomainAndUpdate($productDomains, $product, $domain)) { $productDomains[] = new ProductDomain($product, $domain); } $endpoint->setProductDomains($productDomains); } /** * @param $productDomains * @param $product * @param $domain * * @return string|null */ private static function findProductDomainAndUpdate($productDomains, $product, $domain) { foreach ($productDomains as $key => $productDomain) { if ($productDomain->getProductName() == $product) { $productDomain->setDomainName($domain); return $productDomain; } } return null; } }