/** * Maps Ericsson proto message fields to application model fields * @param array $data * @return array */ protected function _mapEricssonModelToModel(array $data) { if (isset($data['response_data'])) { $data = $data['response_data']; } $data = parent::_mapEricssonModelToModel($data); if (isset($data['universeType'])) { $data['universeType'] = $this->mapUniverseFromEricsson($data['universeType']); } if (isset($data['universe']['id']) && isset($data['universeType'])) { if (AlarmRuleModel::UNIVERSE_CUSTOMER === $data['universeType']) { $data['universeId'] = \Application\Model\Mapper\Organization\OrgCustomerMapper::buildOrgId($data['universe']['id']); } else { $data['universeId'] = $data['universe']['id']; } $data['universeName'] = $data['universe']['name']; unset($data['universe']); } if (isset($data['rules']) && is_array($data['rules'])) { $rules = array(); foreach ($data['rules'] as $rule) { if (is_array($rule)) { $rules[] = $this->_mapRuleToModel($rule); } } $data['rules'] = $rules; } return $data; }
protected function _mapEricssonModelToModel(array $data) { $data = parent::_mapEricssonModelToModel($data); if (isset($data['entity']) && isset($data['entity']['universeType']) && ($universeType = AlarmRuleMapper::getInstance()->mapUniverseFromEricsson($data['entity']['universeType']))) { $data['entity']['universeType'] = $universeType; if (isset($data['entity']['customer']['id'])) { $data['entity']['customerId'] = $data['entity']['customer']['id']; if (isset($data['entity']['customer']['name'])) { $data['entity']['customerName'] = $data['entity']['customer']['name']; } unset($data['entity']['customer']); } if (isset($data['entity']['billingAccount']['id'])) { $data['entity']['billingAccountId'] = $data['entity']['billingAccount']['id']; if (isset($data['entity']['billingAccount']['name'])) { $data['entity']['billingAccountName'] = $data['entity']['billingAccount']['name']; } unset($data['entity']['billingAccount']); } if (isset($data['entity']['commercialGroup']['id'])) { $data['entity']['commercialGroupId'] = $data['entity']['commercialGroup']['id']; if (isset($data['entity']['commercialGroup']['name'])) { $data['entity']['commercialGroupName'] = $data['entity']['commercialGroup']['name']; } unset($data['entity']['commercialGroup']); } if (isset($data['entity']['customerId'])) { $data['entity']['customerId'] = OrgCustomerMapper::buildOrgId($data['entity']['customerId']); } if (isset($data['entity']['subscriptionId'])) { foreach ($data['entity']['subscriptionId'] as &$simId) { if (isset($simId['type'])) { $idType = SimMapper::mapSubscriptionIdFromEricsson($simId['type']); $simId['type'] = $idType; } } } if (isset($data['businessRule'])) { foreach ($data['businessRule'] as &$businessRule) { $businessRule = AlarmRuleMapper::getInstance()->mapBusinessRuleToModel($businessRule); } } } if (isset($data['state']) && ($state = $this->_mapStateToModel($data['state']))) { $data['state'] = $state; } if (isset($data['alarmRule']['id'])) { $data['alarmRuleId'] = $data['alarmRule']['id']; if (isset($data['alarmRule']['name'])) { $data['alarmRuleName'] = $data['alarmRule']['name']; } unset($data['alarmRule']); } $alarmRuleMapper = AlarmRuleMapper::getInstance(); if (isset($data['severity']) && ($severity = $alarmRuleMapper->mapSeverityFromEricsson($data['severity']))) { $data['severity'] = $severity; } if (isset($data['condition']) && ($condition = $alarmRuleMapper->mapConditionFromEricsson($data['condition']))) { $data['condition'] = $condition; } return $data; }