/** * Validate element value * * If a translation adapter is registered, any error messages will be * translated according to the current locale, using the given error code; * if no matching translation is found, the original message will be * utilized. * * Note: The *filtered* value is validated. * * @param array $data * @param mixed $context * @return boolean */ public function isValid($data, $context = null, $removeNotPresentFields = false) { if (!($data instanceof AlarmRuleModel || is_array($data))) { $this->_messages = array(); $this->_messages[self::NOT_ALARM_RULE] = $this->_messageAlarmRule[self::NOT_ALARM_RULE]; return false; } if (!parent::isValid($data, $context, $removeNotPresentFields)) { return false; } if (!$data instanceof AlarmRuleModel) { $data = new AlarmRuleModel($data); } switch ($data->universeType) { case AlarmRuleModel::UNIVERSE_SUBSCRIPTIONS_OF_COMMERCIAL_GROUP: case AlarmRuleModel::UNIVERSE_COMMERCIAL_GROUP: $validator = new \App_Validate_Ericsson_CommercialGroupExistsById(); break; case AlarmRuleModel::UNIVERSE_BILLING_ACCOUNT: $validator = new \App_Validate_Ericsson_BillingAccountExistsById(array('organizationIdField' => 'customerId')); break; case AlarmRuleModel::UNIVERSE_CUSTOMER: $validator = new \App_Validate_Ericsson_OrganizationExistsById(); $validator->setOrganizationType(OrgCustomerModel::ORG_TYPE); break; case AlarmRuleModel::UNIVERSE_SUBSCRIPTIONS_OF_SUPERVISION_GROUP: $validator = new \App_Validate_Amplia_SupervisionGroupExistsByName(); break; } if (!$validator->isValid($data->universeId, $data->exportData())) { $this->_messages['universeId'] = $validator->getMessages(); return false; } return true; }
protected function _updateEricsson(AlarmRuleModel $alarmRule) { $mappedData = $this->_mapModelToEricssonModel($alarmRule->exportData()); $updateData = new AlarmRule\AlarmRuleUpdate(); $updateData->parse($mappedData, new \DrSlump\Protobuf\Codec\PhpArray()); $methodName = self::METHOD_NAME_UPDATE; $proto = $this->_createProto($methodName); $proto->setId($alarmRule->getId()); $proto->setUpdateData($updateData); $response = $this->_sendRequest($methodName, array('protoMessage' => $proto)); $this->_checkPutResponse($response); return $alarmRule->getId(); }