public function toObject($object_to_fill = null, $props_to_skip = array())
 {
     if (is_null($this->operationAttributes) || !count($this->operationAttributes)) {
         return $this->resource->toObject();
     }
     if (!$object_to_fill) {
         $object_to_fill = new kOperationResource();
     }
     $operationAttributes = array();
     foreach ($this->operationAttributes as $operationAttributesObject) {
         $operationAttributes[] = $operationAttributesObject->toObject();
     }
     $object_to_fill->setOperationAttributes($operationAttributes);
     $object_to_fill->setResource($this->resource->toObject());
     return parent::toObject($object_to_fill, $props_to_skip);
 }
Пример #2
0
 /**
  * @param kOperationResource $resource
  * @param entry $dbEntry
  * @param asset $dbAsset
  * @return asset
  */
 protected function attachOperationResource(kOperationResource $resource, entry $dbEntry, asset $dbAsset = null)
 {
     $isNewAsset = false;
     $isSource = false;
     if ($dbAsset) {
         if ($dbAsset instanceof flavorAsset) {
             $isSource = $dbAsset->getIsOriginal();
         }
     } else {
         $isNewAsset = true;
         $isSource = true;
         $dbAsset = kFlowHelper::createOriginalFlavorAsset($this->getPartnerId(), $dbEntry->getId());
     }
     if (!$dbAsset && $dbEntry->getStatus() == entryStatus::NO_CONTENT) {
         $dbEntry->setStatus(entryStatus::ERROR_CONVERTING);
         $dbEntry->save();
     }
     $operationAttributes = $resource->getOperationAttributes();
     $internalResource = $resource->getResource();
     if ($internalResource instanceof kLiveEntryResource) {
         $dbEntry->setOperationAttributes($operationAttributes);
         $dbEntry->save();
         return $this->attachLiveEntryResource($internalResource, $dbEntry, $dbAsset, $operationAttributes);
     }
     $dbAsset = $this->attachResource($internalResource, $dbEntry, $dbAsset);
     $sourceType = $resource->getSourceType();
     if ($sourceType) {
         $dbEntry->setSource($sourceType);
         $dbEntry->save();
     }
     $errDescription = '';
     kBusinessPreConvertDL::decideAddEntryFlavor(null, $dbEntry->getId(), $resource->getAssetParamsId(), $errDescription, $dbAsset->getId(), $operationAttributes);
     if ($isNewAsset) {
         kEventsManager::raiseEvent(new kObjectAddedEvent($dbAsset));
     }
     kEventsManager::raiseEvent(new kObjectDataChangedEvent($dbAsset));
     if ($isSource && $internalResource instanceof kFileSyncResource) {
         $srcEntryId = $internalResource->getEntryId();
         if ($srcEntryId) {
             $srcEntry = entryPeer::retrieveByPKNoFilter($srcEntryId);
             if ($srcEntry) {
                 $dbEntry->setSourceEntryId($srcEntryId);
                 $dbEntry->setRootEntryId($srcEntry->getRootEntryId(true));
             }
         }
         $dbEntry->setOperationAttributes($operationAttributes);
         $dbEntry->save();
     }
     return $dbAsset;
 }