/**
  * Set severity
  * 
  * @param string $parameters
  */
 public function setseverity($parameters)
 {
     $params = explode($this->delim, $parameters);
     if (count($params) < 3) {
         throw new CentreonClapiException(self::MISSINGPARAMETER);
     }
     $rel = new Centreon_Object_Relation_Service_Category_Service();
     $hostServiceRel = new Centreon_Object_Relation_Host_Service();
     $elements = $hostServiceRel->getMergedParameters(array('host_id'), array('service_id'), -1, 0, null, null, array("host_name" => $params[0], "service_description" => $params[1]), "AND");
     if (!count($elements)) {
         throw new CentreonClapiException(self::OBJECT_NOT_FOUND . ":" . $params[0] . "/" . $params[1]);
     }
     $serviceId = $elements[0]['service_id'];
     $severityObj = new Centreon_Object_Service_Category();
     $severity = $severityObj->getIdByParameter($severityObj->getUniqueLabelField(), $params[2]);
     if (!isset($severity[0])) {
         throw new CentreonClapiException(self::OBJECT_NOT_FOUND . ":" . $params[2]);
     }
     $k = $severityObj->getPrimaryKey();
     $severityId = $severity[0][$k];
     $severity = $severityObj->getParameters($severityId, array('level'));
     if ($severity['level']) {
         // can't delete with generic method
         $this->db->query("DELETE FROM service_categories_relation \n                WHERE service_service_id = ? \n                AND sc_id IN (SELECT sc_id FROM service_categories WHERE level > 0)", $serviceId);
         $rel->insert($severityId, $serviceId);
     } else {
         throw new CentreonClapiException(self::OBJECT_NOT_FOUND . ":" . $params[2]);
     }
 }
 /**
  * Set severity
  * 
  * @param string $parameters
  */
 public function setseverity($parameters)
 {
     $params = explode($this->delim, $parameters);
     if (count($params) < 2) {
         throw new CentreonClapiException(self::MISSINGPARAMETER);
     }
     if (($serviceId = $this->getObjectId($params[self::ORDER_SVCDESC])) == 0) {
         throw new CentreonClapiException(self::OBJECT_NOT_FOUND . ":" . $params[self::ORDER_SVCDESC]);
     }
     $severityObj = new Centreon_Object_Service_Category();
     $severity = $severityObj->getIdByParameter($severityObj->getUniqueLabelField(), $params[1]);
     if (!isset($severity[0])) {
         throw new CentreonClapiException(self::OBJECT_NOT_FOUND . ":" . $params[1]);
     }
     $k = $severityObj->getPrimaryKey();
     $severityId = $severity[0][$k];
     $severity = $severityObj->getParameters($severityId, array('level'));
     if ($severity['level']) {
         // can't delete with generic method
         $this->db->query("DELETE FROM service_categories_relation \n                WHERE service_service_id = ? \n                AND sc_id IN (SELECT sc_id FROM service_categories WHERE level > 0)", $serviceId);
         $rel = new Centreon_Object_Relation_Service_Category_Service();
         $rel->insert($severityId, $serviceId);
     } else {
         throw new CentreonClapiException(self::OBJECT_NOT_FOUND . ":" . $params[1]);
     }
 }
 /**
  * Export
  *
  * @return void
  */
 public function export()
 {
     parent::export();
     $scs = $this->object->getList(array($this->object->getPrimaryKey(), $this->object->getUniqueLabelField()));
     $relobj = new Centreon_Object_Relation_Service_Category_Service();
     $hostServiceRel = new Centreon_Object_Relation_Host_Service();
     $svcObj = new Centreon_Object_Service();
     foreach ($scs as $sc) {
         $scId = $sc[$this->object->getPrimaryKey()];
         $scName = $sc[$this->object->getUniqueLabelField()];
         $relations = $relobj->getTargetIdFromSourceId($relobj->getSecondKey(), $relobj->getFirstKey(), $scId);
         foreach ($relations as $serviceId) {
             $svcParam = $svcObj->getParameters($serviceId, array('service_description', 'service_register'));
             if ($svcParam['service_register'] == 1) {
                 $elements = $hostServiceRel->getMergedParameters(array('host_name'), array('service_description'), -1, 0, null, null, array("service_id" => $serviceId), "AND");
                 foreach ($elements as $element) {
                     echo $this->action . $this->delim . "addservice" . $this->delim . $scName . $this->delim . $element['host_name'] . "," . $element['service_description'] . "\n";
                 }
             } else {
                 echo $this->action . $this->delim . "addservicetemplate" . $this->delim . $scName . $this->delim . $svcParam['service_description'] . "\n";
             }
         }
     }
 }