/**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param      array $columns Array of column names to validate.
  * @return     mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aNagiosService !== null) {
             if (!$this->aNagiosService->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosService->getValidationFailures());
             }
         }
         if ($this->aNagiosServiceTemplateRelatedBySourceTemplate !== null) {
             if (!$this->aNagiosServiceTemplateRelatedBySourceTemplate->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosServiceTemplateRelatedBySourceTemplate->getValidationFailures());
             }
         }
         if ($this->aNagiosServiceTemplateRelatedByTargetTemplate !== null) {
             if (!$this->aNagiosServiceTemplateRelatedByTargetTemplate->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosServiceTemplateRelatedByTargetTemplate->getValidationFailures());
             }
         }
         if (($retval = NagiosServiceTemplateInheritancePeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }
Esempio n. 2
0
 /**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param      array $columns Array of column names to validate.
  * @return     mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aNagiosHostTemplate !== null) {
             if (!$this->aNagiosHostTemplate->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosHostTemplate->getValidationFailures());
             }
         }
         if ($this->aNagiosHost !== null) {
             if (!$this->aNagiosHost->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosHost->getValidationFailures());
             }
         }
         if ($this->aNagiosServiceTemplate !== null) {
             if (!$this->aNagiosServiceTemplate->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosServiceTemplate->getValidationFailures());
             }
         }
         if ($this->aNagiosService !== null) {
             if (!$this->aNagiosService->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosService->getValidationFailures());
             }
         }
         if ($this->aNagiosHostgroup !== null) {
             if (!$this->aNagiosHostgroup->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosHostgroup->getValidationFailures());
             }
         }
         if ($this->aNagiosTimeperiod !== null) {
             if (!$this->aNagiosTimeperiod->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aNagiosTimeperiod->getValidationFailures());
             }
         }
         if (($retval = NagiosEscalationPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         if ($this->collNagiosEscalationContacts !== null) {
             foreach ($this->collNagiosEscalationContacts as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collNagiosEscalationContactgroups !== null) {
             foreach ($this->collNagiosEscalationContactgroups as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }