Since: 01.02.2013
Author: Vitaliy Demidov (vitaliy@scalr.com)
Inheritance: extends Scalr\Service\Aws\CloudFront\AbstractCloudFrontDataType
Exemplo n.º 1
0
 /**
  * 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;
 }