/**
  * @return array
  */
 private function getData()
 {
     $delivery = new \core_kernel_classes_Resource($this->params[0]);
     $resultsService = ResultsService::singleton();
     $filter = 'lastSubmitted';
     $columns = [];
     $testtaker = new \tao_models_classes_table_PropertyColumn(new \core_kernel_classes_Property(PROPERTY_RESULT_OF_SUBJECT));
     $testTakerColumn[] = $testtaker->toArray();
     $cols = array_merge($testTakerColumn, $resultsService->getVariableColumns($delivery, CLASS_OUTCOME_VARIABLE, $filter), $resultsService->getVariableColumns($delivery, CLASS_RESPONSE_VARIABLE, $filter));
     $dataProvider = new VariableDataProvider();
     foreach ($cols as $col) {
         $column = \tao_models_classes_table_Column::buildColumnFromArray($col);
         if (!is_null($column)) {
             if ($column instanceof VariableColumn) {
                 $column->setDataProvider($dataProvider);
             }
             $columns[] = $column;
         }
     }
     $columns[0]->label = __("Test taker");
     $rows = $resultsService->getResultsByDelivery($delivery, $columns, $filter);
     $columnNames = array_reduce($columns, function ($carry, $item) {
         $carry[] = $item->label;
         return $carry;
     });
     $result = [];
     foreach ($rows as $row) {
         $rowResult = [];
         foreach ($row['cell'] as $rowKey => $rowVal) {
             $rowResult[$columnNames[$rowKey]] = $rowVal[0];
         }
         $result[] = $rowResult;
     }
     //If there are no executions yet, the file is exported but contains only the header
     if (empty($result)) {
         $result = [array_fill_keys($columnNames, '')];
     }
     return $result;
 }
 /**
  * Returns the default column selection that contains the Result of Subject property (This has been removed from the other commodity function adding grades and responses)
  */
 public function getResultOfSubjectColumn()
 {
     $testtaker = new tao_models_classes_table_PropertyColumn(new core_kernel_classes_Property(PROPERTY_RESULT_OF_SUBJECT));
     $arr[] = $testtaker->toArray();
     echo json_encode(array('columns' => $arr));
 }