protected function precalculateExportRecord(AbstractRecord $record, DataDimensions $dataDimensions) { $key = 'exportrecord-' . $record->getDataType() . '-' . $record->getDataTypeName() . '-' . $dataDimensions->getViewName(); if (array_key_exists($key, $this->precalculations)) { $precalculate = $this->precalculations[$key]; } else { $definition = $record->getDataTypeDefinition(); $allowedProperties = $definition->getProperties($dataDimensions->getViewName()); $allowedProperties = array_combine($allowedProperties, $allowedProperties); $precalculate = []; $precalculate['allowedProperties'] = $allowedProperties; $this->precalculations[$key] = $precalculate; } return $precalculate; }