protected function _mapEnumValue(\DrSlump\Protobuf\Field $descriptor, \App_ListFilter_Interface $filter, \App_ListFilter $filterList)
 {
     if ($filter->getFieldName() == StockFilterFields::LIFE_CYCLE_STATUS) {
         return StockMapper::getInstance()->mapInitialLifeCycleStatusToEricsson($filter->getValue());
     }
     return parent::_mapEnumValue($descriptor, $filter, $filterList);
 }
 protected function _mapTarget(\DrSlump\Protobuf\Field $descriptor, \App_ListFilter_Interface $filter, \App_ListFilter $filterList)
 {
     if ($filter->getFieldName() === ReportFilterFields::REPORT_GROUP) {
         $report = $filter->getValue();
         $target = $this->_mapData(Target::descriptor()->getFieldByName('target'), $filter, $filterList);
         $data = array('target' => $target);
         switch ($report) {
             case ReportModel::REPORT_GROUPS_SUPERVISION:
                 $data += $this->_createSupervisionTarget($filterList);
                 break;
             case ReportModel::REPORT_GROUPS_CHARGES_DETAIL:
                 $data += $this->_createChargesDetailTarget($filterList);
                 break;
             case ReportModel::REPORT_GROUPS_SUBSCRIPTION_BASE:
                 $data += $this->_createSubscriptionBaseTarget($filterList);
                 break;
             case ReportModel::REPORT_GROUPS_SUBSCRIPTION_SNAPSHOT:
                 $data += $this->_createSubscriptionSnapshotTarget($filterList);
                 break;
             case ReportModel::REPORT_GROUPS_KPI:
                 $data += $this->_createKpiTarget($filterList);
                 break;
             case ReportModel::REPORT_GROUPS_CONSUMPTION:
                 $data += $this->_createConsumptionTarget($filterList);
                 break;
         }
         return $data;
     }
     return;
 }
 /**
  * Maps an enum value
  * @param  \DrSlump\Protobuf\Field   $descriptor
  * @param  \App_ListFilter_Interface $filter
  * @return mixed                     Enum value.
  */
 protected function _mapEnumValue(\DrSlump\Protobuf\Field $descriptor, \App_ListFilter_Interface $filter, \App_ListFilter $filterList)
 {
     $alarmRuleMapper = AlarmRuleMapper::getInstance();
     $alarmMapper = AlarmMapper::getInstance();
     switch ($filter->getFieldName()) {
         case AlarmFilterFields::RULE_CONDITION:
             return $alarmRuleMapper->mapConditionToEricsson($filter->getValue());
         case AlarmFilterFields::UNIVERSE_TYPE:
             return $alarmRuleMapper->mapUniverseToEricsson($filter->getValue());
         case AlarmFilterFields::SEVERITY:
             return $alarmRuleMapper->mapSeverityToEricsson($filter->getValue());
         case AlarmFilterFields::STATE:
             return $alarmMapper->mapStateToEricsson($filter->getValue());
         case AlarmFilterFields::ALARM_TYPE:
             return $alarmMapper->mapTypeToEricsson($filter->getValue());
     }
     parent::_mapEnumValue($descriptor, $filter, $filterList);
 }
 protected function _mapConsumptionValue(\App_ListFilter_Interface $filter)
 {
     $mapService = array(SimFilterFields::CONSUMPTION_VOICE => ConsumptionCriteria\Service::VOICE, SimFilterFields::CONSUMPTION_SMS => ConsumptionCriteria\Service::SMS, SimFilterFields::CONSUMPTION_DATA => ConsumptionCriteria\Service::DATA);
     $mapLevel = array(SimFilterFields::CON_THRESHOLD_1 => ConsumptionCriteria\Level::THRESHOLD_1, SimFilterFields::CON_THRESHOLD_2 => ConsumptionCriteria\Level::THRESHOLD_2, SimFilterFields::CON_THRESHOLD_3 => ConsumptionCriteria\Level::THRESHOLD_3, SimFilterFields::CON_THRESHOLD_4 => ConsumptionCriteria\Level::THRESHOLD_4, SimFilterFields::CON_LIMIT => ConsumptionCriteria\Level::THRESHOLD_5);
     switch (true) {
         case $filter instanceof \App_ListFilter_EqualFilter:
         case $filter instanceof \App_ListFilter_GreaterThanFilter:
         case $filter instanceof \App_ListFilter_LessThanFilter:
         case $filter instanceof \App_ListFilter_LikeFilter:
             $result = array();
             $result['service'] = $mapService[$filter->getFieldName()];
             if (isset($mapLevel[$filter->getValue()])) {
                 $result['level'] = $mapLevel[$filter->getValue()];
             } else {
                 $result['level'] = ConsumptionCriteria\Level::THRESHOLD_5;
             }
             $result['period'] = $filter->getInverted() ? ConsumptionCriteria\Period::MONTH : ConsumptionCriteria\Period::DAY;
             return $result;
             break;
     }
     return;
 }
 /**
  * Maps an enum value
  * @param  \DrSlump\Protobuf\Field   $descriptor
  * @param  \App_ListFilter_Interface $filter
  * @return mixed                     Enum value.
  */
 protected function _mapEnumValue(\DrSlump\Protobuf\Field $descriptor, \App_ListFilter_Interface $filter, \App_ListFilter $filterList)
 {
     if (!$filter instanceof \App_ListFilter_EqualFilter) {
         return;
     }
     $enum = $descriptor->getReference();
     if (isset($this->_enumMap[$enum]) && isset($this->_enumMap[$enum][$filter->getValue()])) {
         return $this->_enumMap[$enum][$filter->getValue()];
     }
 }