public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $entry = entryPeer::retrieveByPK($entryDistribution->getEntryId()); if (!$entry) { KalturaLog::err("Entry [" . $entryDistribution->getEntryId() . "] not found"); $validationErrors[] = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'entry', 'entry not found'); return $validationErrors; } // validate entry name minumum length of 1 character if (strlen($entry->getName()) < self::ENTRY_NAME_MINIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::NAME, 'Name is too short'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_NAME_MINIMUM_LENGTH); $validationErrors[] = $validationError; } if (strlen($entry->getName()) > self::ENTRY_NAME_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::NAME, 'Name is too long'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_NAME_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } $validationErrors = $this->validateMetadataForSubmission($entryDistribution, $action, $validationErrors); if (!strlen($entry->getDescription())) { $validationErrors[] = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, entryPeer::DESCRIPTION, 'Description is empty'); } elseif (strlen($entry->getDescription()) < self::ENTRY_DESCRIPTION_MINIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::DESCRIPTION, 'Description is too short'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_DESCRIPTION_MINIMUM_LENGTH); $validationErrors[] = $validationError; } elseif (strlen($entry->getDescription()) > self::ENTRY_DESCRIPTION_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::DESCRIPTION, 'Description is too long'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_DESCRIPTION_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } return $validationErrors; }
public function postSave(PropelPDO $con = null) { parent::postSave($con); if ($this->xslModified && $this->xsl && $this->getFeedId()) { KalturaLog::debug("loads syndication feed id [" . $this->getFeedId() . "]"); $syndicationFeed = syndicationFeedPeer::retrieveByPK($this->getFeedId()); KalturaLog::debug("syndication feed id [" . $syndicationFeed->getId() . "] syndication feed type [" . get_class($syndicationFeed) . "]"); if ($syndicationFeed && $syndicationFeed instanceof genericSyndicationFeed) { KalturaLog::log("Updating syndication feed xsl"); $syndicationFeed->setType(syndicationFeedType::KALTURA_XSLT); $syndicationFeed->incrementVersion(); $syndicationFeed->save(); $syncKey = $syndicationFeed->getSyncKey(genericSyndicationFeed::FILE_SYNC_SYNDICATION_FEED_XSLT); kFileSyncUtils::file_put_contents($syncKey, $this->xsl, false); $this->xslModified = false; } } }
public function postSave(PropelPDO $con = null) { parent::postSave($con); if ($this->xslModified && $this->xsl && $this->getFeedId()) { $podcastFeed = syndicationFeedPeer::retrieveByPK($this->getFeedId()); if ($podcastFeed && $podcastFeed instanceof genericSyndicationFeed) { $podcastFeed->setType(syndicationFeedType::KALTURA_XSLT); $podcastFeed->incrementVersion(); $podcastFeed->save(); $syncKey = $podcastFeed->getSyncKey(genericSyndicationFeed::FILE_SYNC_SYNDICATION_FEED_XSLT); kFileSyncUtils::file_put_contents($syncKey, $this->xsl, false); $this->xslModified = false; } } }
/** * @param entry $entry * @param DistributionProfile $distributionProfile * @return EntryDistribution */ public static function createEntryDistribution(entry $entry, DistributionProfile $distributionProfile) { $entryDistribution = new EntryDistribution(); $entryDistribution->setEntryId($entry->getId()); $entryDistribution->setPartnerId($entry->getPartnerId()); $entryDistribution->setDistributionProfileId($distributionProfile->getId()); $entryDistribution->setStatus(EntryDistributionStatus::PENDING); self::assignFlavorAssets($entryDistribution, $entry, $distributionProfile); self::assignThumbAssets($entryDistribution, $entry, $distributionProfile); self::assignAssets($entryDistribution, $entry, $distributionProfile); $entryDistribution->save(); // need to save before checking validations $validationErrors = $distributionProfile->validateForSubmission($entryDistribution, DistributionAction::SUBMIT); $entryDistribution->setValidationErrorsArray($validationErrors); return $entryDistribution; }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param DistributionProfile $value A DistributionProfile object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(DistributionProfile $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $entry = entryPeer::retrieveByPK($entryDistribution->getEntryId()); if (!$entry) { KalturaLog::err("Entry [" . $entryDistribution->getEntryId() . "] not found"); $validationErrors[] = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'entry', 'entry not found'); return $validationErrors; } // validate entry name minumum length of 1 character if (strlen($entry->getName()) < self::ENTRY_NAME_MINIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::NAME, ''); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_NAME_MINIMUM_LENGTH); $validationErrors[] = $validationError; } // validate entry name maximum length of 60 characters if (strlen($entry->getName()) > self::ENTRY_NAME_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::NAME, ''); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_NAME_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } $validateDescription = true; $validateTags = true; $validationErrors = $this->validateMetadataForSubmission($entryDistribution, $action, $validationErrors, $validateDescription, $validateTags); if ($validateDescription) { if (!strlen($entry->getDescription())) { $validationErrors[] = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, entryPeer::DESCRIPTION, 'Description is empty'); } elseif (strlen($entry->getDescription()) < self::ENTRY_DESCRIPTION_MINIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::DESCRIPTION, 'Description is too short'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_DESCRIPTION_MINIMUM_LENGTH); $validationErrors[] = $validationError; } elseif (strlen($entry->getDescription()) > self::ENTRY_DESCRIPTION_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::DESCRIPTION, 'Description is too log'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_DESCRIPTION_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } } $tags = $entry->getTags(); if ($validateTags) { if (!strlen($tags)) { $validationErrors[] = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, entryPeer::TAGS, 'Tags is empty'); } elseif (strlen($tags) < self::ENTRY_TAGS_MINIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::TAGS, 'Tags is too short'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_TAGS_MINIMUM_LENGTH); $validationErrors[] = $validationError; } elseif (strlen($tags) > self::ENTRY_TAGS_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::TAGS, 'Tags is too log'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_TAGS_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } } elseif (class_exists('MetadataProfile')) { $metadataProfileId = $this->getMetadataProfileId(); $metadata = MetadataPeer::retrieveByObject($metadataProfileId, Metadata::TYPE_ENTRY, $entryDistribution->getEntryId()); if ($metadata) { $tagsArray = $this->findMetadataValue(array($metadata), self::METADATA_FIELD_TAGS); $tags = implode(',', $tagsArray); } } // validate each tag length between 2 and 30 characters $tags = explode(',', $tags); foreach ($tags as &$tag) { $tag = trim($tag); } foreach ($tags as $tag) { if (strlen($tag) < self::ENTRY_EACH_TAG_MANIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Tag', $tag); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_EACH_TAG_MANIMUM_LENGTH); $validationErrors[] = $validationError; } if (strlen($tag) > self::ENTRY_EACH_TAG_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'Tag', $tag); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_EACH_TAG_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } } return $validationErrors; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); //TODO: move entry validation to DistributionProfile ? $entry = entryPeer::retrieveByPK($entryDistribution->getEntryId()); if (!$entry) { KalturaLog::err("Entry [" . $entryDistribution->getEntryId() . "] not found"); $validationErrors[] = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'entry', 'entry not found'); return $validationErrors; } // verify fields markes as required $fieldConfigArray = $this->getFieldConfigArray(); foreach ($fieldConfigArray as $fieldConfig) { if ($fieldConfig->getIsRequired() != DistributionFieldRequiredStatus::NOT_REQUIRED) { $this->addRequiredFieldForValidation($fieldConfig->getFieldName()); } } $allFieldValues = $this->getAllFieldValues($entryDistribution); if (!$allFieldValues || !is_array($allFieldValues)) { KalturaLog::err('Error getting field values from entry distribution id [' . $entryDistribution->getId() . '] profile id [' . $this->getId() . ']'); return $validationErrors; } $validationErrors = array_merge($validationErrors, $this->validateNotEmpty($this->requiredFields, $allFieldValues, $action)); return $validationErrors; }
/** * @param entry $entry * @param DistributionProfile $distributionProfile * @return EntryDistribution or null if failed to create. */ public static function createEntryDistribution(entry $entry, DistributionProfile $distributionProfile) { $illegalEntryDistributionStatus = array(EntryDistributionStatus::SUBMITTING, EntryDistributionStatus::UPDATING, EntryDistributionStatus::DELETING, EntryDistributionStatus::IMPORT_SUBMITTING, EntryDistributionStatus::IMPORT_UPDATING); $entryDistribution = EntryDistributionPeer::retrieveByEntryAndProfileId($entry->getId(), $distributionProfile->getId()); if (!$entryDistribution || $entryDistribution->getStatus() == EntryDistributionStatus::DELETED) { $entryDistribution = new EntryDistribution(); } else { if (in_array($entryDistribution->getStatus(), $illegalEntryDistributionStatus)) { KalturaLog::err("Entry distribution already exist. entry [" . $entry->getId() . "] distribution profile [" . $distributionProfile->getId() . "] status [" . $entryDistribution->getStatus() . "]"); return null; } } $entryDistribution->setEntryId($entry->getId()); $entryDistribution->setPartnerId($entry->getPartnerId()); $entryDistribution->setDistributionProfileId($distributionProfile->getId()); $entryDistribution->setStatus(EntryDistributionStatus::PENDING); self::assignFlavorAssets($entryDistribution, $entry, $distributionProfile); self::assignThumbAssets($entryDistribution, $entry, $distributionProfile); self::assignAssets($entryDistribution, $entry, $distributionProfile); $entryDistribution->save(); // need to save before checking validations $validationErrors = $distributionProfile->validateForSubmission($entryDistribution, DistributionAction::SUBMIT); $entryDistribution->setValidationErrorsArray($validationErrors); return $entryDistribution; }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { // get validation errors from parent class $validationErrors = parent::validateForSubmission($entryDistribution, $action); // get the entry object $entry = entryPeer::retrieveByPK($entryDistribution->getEntryId()); if (!$entry) { KalturaLog::err("Entry [" . $entryDistribution->getEntryId() . "] not found"); return $validationErrors; } // validate entry name length if (strlen($entry->getName()) < self::ENTRY_NAME_MINIMUM_LENGTH) { $description = 'entry name length must be between ' . self::ENTRY_NAME_MINIMUM_LENGTH . ' and ' . self::ENTRY_NAME_MAXIMUM_LENGTH; $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::NAME, $description); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_NAME_MINIMUM_LENGTH); $validationErrors[] = $validationError; } if (strlen($entry->getName()) > self::ENTRY_NAME_MAXIMUM_LENGTH) { $description = 'entry name length must be between ' . self::ENTRY_NAME_MINIMUM_LENGTH . ' and ' . self::ENTRY_NAME_MAXIMUM_LENGTH; $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::NAME, $description); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_NAME_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } // get all metadata objects that related to the entry $metadatas = MetadataPeer::retrieveAllByObject(MetadataObjectType::ENTRY, $entryDistribution->getEntryId()); if (!count($metadatas)) { $description = 'field is missing because there is no metadata object defined'; $validationErrors[] = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, self::METADATA_FIELD_TEST_DATA, $description); } // get all fields from all metadata profile for the testData key $metadataProfileFields = MetadataProfileFieldPeer::retrieveByPartnerAndKey($this->getPartnerId(), self::METADATA_FIELD_TEST_DATA); if (!count($metadataProfileFields)) { $description = 'field is not defined in any of the metadata profiles'; $validationErrors[] = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, self::METADATA_FIELD_TEST_DATA, $description); } elseif (count($metadatas)) { // get the values for the testData key from all metadata objects $values = $this->findMetadataValue($metadatas, self::METADATA_FIELD_TEST_DATA); if (!count($values)) { $description = 'field is not defined in any of the metadata objects'; $validationErrors[] = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, self::METADATA_FIELD_TEST_DATA, $description); continue; } else { foreach ($metadatas as $metadata) { $values = $this->findMetadataValue(array($metadata), self::METADATA_FIELD_TEST_DATA); foreach ($values as $value) { // validate that the field is not empty if (!strlen($value)) { $description = 'field is empty'; $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, self::METADATA_FIELD_TEST_DATA, $description); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_EMPTY); $validationError->setMetadataProfileId($metadata->getMetadataProfileId()); $validationErrors[] = $validationError; continue; } // match the value to the required format $matches = null; $isMatched = preg_match('/' . self::METADATA_FIELD_TEST_DATA_FORMAT . '/', $value, $matches); if (!$isMatched) { $description = 'test data must match the required format'; $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, self::METADATA_FIELD_TEST_DATA, $description); $validationError->setValidationErrorType(DistributionValidationErrorType::INVALID_FORMAT); $validationError->setValidationErrorParam(self::METADATA_FIELD_TEST_DATA_FORMAT); $validationError->setMetadataProfileId($metadata->getMetadataProfileId()); $validationErrors[] = $validationError; } $formatNumber = (int) $matches[1]; if ($formatNumber < self::METADATA_FIELD_TEST_DATA_MINIMUM_FORMAT || $formatNumber > self::METADATA_FIELD_TEST_DATA_MAXIMUM_FORMAT) { $description = 'format number must be between ' . self::METADATA_FIELD_TEST_DATA_MINIMUM_FORMAT . ' and ' . self::METADATA_FIELD_TEST_DATA_MAXIMUM_FORMAT; $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, self::METADATA_FIELD_TEST_DATA, $description); $validationError->setValidationErrorType(DistributionValidationErrorType::CUSTOM_ERROR); $validationError->setMetadataProfileId($metadata->getMetadataProfileId()); $validationErrors[] = $validationError; } } } } } return $validationErrors; }
public function getReportEnabled() { $provider = $this->getProvider(); if (!$provider) { return DistributionProfileActionStatus::DISABLED; } $action = GenericDistributionProviderActionPeer::retrieveByProviderAndAction($provider->getId(), DistributionAction::FETCH_REPORT); if (!$action) { return DistributionProfileActionStatus::DISABLED; } return parent::getReportEnabled(); }
public function validateForSubmission(EntryDistribution $entryDistribution, $action) { $validationErrors = parent::validateForSubmission($entryDistribution, $action); $entry = entryPeer::retrieveByPK($entryDistribution->getEntryId()); if (!$entry) { KalturaLog::err("Entry [" . $entryDistribution->getEntryId() . "] not found"); $validationErrors[] = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, 'entry', 'entry not found'); return $validationErrors; } // validate entry name minumum length of 1 character if (strlen($entry->getName()) < self::ENTRY_NAME_MINIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::NAME, 'Name is too short'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_NAME_MINIMUM_LENGTH); $validationErrors[] = $validationError; } if (strlen($entry->getName()) > self::ENTRY_NAME_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::NAME, 'Name is too long'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_NAME_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } $validateDescription = true; $validateTags = true; $validationErrors = $this->validateMetadataForSubmission($entryDistribution, $action, $validationErrors, $validateDescription, $validateTags); if ($validateDescription) { if (!strlen($entry->getDescription())) { $validationErrors[] = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, entryPeer::DESCRIPTION, 'Description is empty'); } elseif (strlen($entry->getDescription()) < self::ENTRY_DESCRIPTION_MINIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::DESCRIPTION, 'Description is too short'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_SHORT); $validationError->setValidationErrorParam(self::ENTRY_DESCRIPTION_MINIMUM_LENGTH); $validationErrors[] = $validationError; } elseif (strlen($entry->getDescription()) > self::ENTRY_DESCRIPTION_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::DESCRIPTION, 'Description is too long'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_DESCRIPTION_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } } if ($validateTags) { if (!strlen($entry->getTags())) { $validationErrors[] = $this->createValidationError($action, DistributionErrorType::MISSING_METADATA, entryPeer::TAGS, 'Tags is empty'); } else { $tags = explode(',', $entry->getTags()); $tagsStr = implode(' , ', $tags); if (strlen($tagsStr) > self::ENTRY_TAGS_MAXIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::TAGS, 'Entry tags is too long'); $validationError->setValidationErrorType(DistributionValidationErrorType::STRING_TOO_LONG); $validationError->setValidationErrorParam(self::ENTRY_TAGS_MAXIMUM_LENGTH); $validationErrors[] = $validationError; } if (count($tags) < self::ENTRY_TAGS_MINIMUM_COUNT) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::TAGS, 'Entry tags must contain at least ' . self::ENTRY_TAGS_MINIMUM_COUNT . ' tags'); $validationError->setValidationErrorType(DistributionValidationErrorType::CUSTOM_ERROR); $validationError->setValidationErrorParam('Entry tags must contain at least ' . self::ENTRY_TAGS_MINIMUM_COUNT . ' tags'); $validationErrors[] = $validationError; } foreach ($tags as $tag) { if (strlen($tag) < self::ENTRY_TAG_MINIMUM_LENGTH) { $validationError = $this->createValidationError($action, DistributionErrorType::INVALID_DATA, entryPeer::TAGS, "Entry tag [{$tag}] must contain at least " . self::ENTRY_TAG_MINIMUM_LENGTH . " characters"); $validationError->setValidationErrorType(DistributionValidationErrorType::CUSTOM_ERROR); $validationError->setValidationErrorParam("Entry tag [{$tag}] must contain at least " . self::ENTRY_TAG_MINIMUM_LENGTH . " characters"); $validationErrors[] = $validationError; } } } } return $validationErrors; }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param DistributionProfile $value A DistributionProfile object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(DistributionProfile $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } if (isset(self::$instances[$key]) || count(self::$instances) < kConf::get('max_num_instances_in_pool')) { self::$instances[$key] = $obj; kMemoryManager::registerPeer('DistributionProfilePeer'); } } }