/**
  * Update the properties of the chart
  *
  * @return boolean true if the update is successful
  */
 public function update($row)
 {
     $db_update_needed = false;
     foreach (array('rank', 'title', 'description', 'width', 'height') as $prop) {
         if (isset($row[$prop]) && $this->{$prop} != $row[$prop]) {
             $this->{$prop} = $row[$prop];
             $db_update_needed = true;
         }
     }
     $updated = false;
     if ($db_update_needed) {
         $dao = new GraphOnTrackers_ChartDao(CodendiDataAccess::instance());
         $updated = $dao->updateById($this->id, $this->graphic_report->getId(), $this->rank, $this->title, $this->description, $this->width, $this->height);
     }
     return $this->updateSpecificProperties($row) && $updated;
 }