protected function validate(EventNotificationTemplate $sourceObject = null)
 {
     $this->validatePropertyMinLength('systemName', 3, true);
     $id = null;
     if ($sourceObject) {
         $id = $sourceObject->getId();
     }
     if (trim($this->systemName) && !$this->isNull('systemName')) {
         $systemNameTemplates = EventNotificationTemplatePeer::retrieveBySystemName($this->systemName, $id);
         if (count($systemNameTemplates)) {
             throw new KalturaAPIException(KalturaEventNotificationErrors::EVENT_NOTIFICATION_TEMPLATE_DUPLICATE_SYSTEM_NAME, $this->systemName);
         }
     }
 }
 /**
  * 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      EventNotificationTemplate $value A EventNotificationTemplate object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(EventNotificationTemplate $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }
 /**
  * @param EventNotificationTemplate $notificationTemplate
  * @param kEventScope $scope
  * @return boolean
  */
 protected function notificationTemplatesConditionsFulfilled(EventNotificationTemplate $notificationTemplate, kEventScope $scope)
 {
     KalturaLog::info("Checking conditions for notification templat ID [" . $notificationTemplate->getId() . "] and scope: " . print_r($scope, true));
     $eventConditions = $notificationTemplate->getEventConditions();
     if (!$eventConditions || !count($eventConditions)) {
         return true;
     }
     foreach ($eventConditions as $eventCondition) {
         /* @var $eventCondition kEventCondition */
         if (!$eventCondition->fulfilled($scope)) {
             KalturaLog::debug("Template [" . $notificationTemplate->getId() . "] condition not fulfilled");
             return false;
         }
     }
     return true;
 }
 /**
  * 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      EventNotificationTemplate $value A EventNotificationTemplate object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(EventNotificationTemplate $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('EventNotificationTemplatePeer');
         }
     }
 }