/** * Loads DistributionData from simple xml object * * @param \SimpleXMLElement $sxml * @return DistributionData Returns DistributionData */ protected function _loadDistributionData(\SimpleXMLElement $v) { $item = null; if ($this->exist($v)) { $distributionId = (string) $v->Id; $item = $this->cloudFront->distribution->get($distributionId); if ($item === null) { $item = new DistributionData(); $bAttach = true; } else { $item->resetObject(); $bAttach = false; } $item->setCloudFront($this->cloudFront); $item->setDistributionId($distributionId)->setActiveTrustedSigners($this->_loadTrustedSignerList($v->ActiveTrustedSigners))->setDistributionConfig($this->_loadDistributionConfigData($this->exist($v->DistributionConfig) ? $v->DistributionConfig : $v))->setDomainName($this->exist($v->DomainName) ? (string) $v->DomainName : null)->setInProgressInvalidationBatches($this->exist($v->InProgressInvalidationBatches) ? (string) $v->InProgressInvalidationBatches : null)->setLastModifiedTime($this->exist($v->LastModifiedTime) ? new DateTime((string) $v->LastModifiedTime, new DateTimeZone('UTC')) : null)->setStatus((string) $v->Status); if ($bAttach) { $this->getEntityManager()->attach($item); } } return $item; }