final public function format(DataControllerCallContext $callcontext, AbstractRequest $request, $datasetName, $columnName, $columnDataType = NULL) { if (!isset($columnDataType)) { $metamodel = data_controller_get_metamodel(); // trying to detect data type for the value list($referencedDatasetName, $referencedColumnName) = ReferencePathHelper::splitReference($columnName); $selectedDatasetName = isset($referencedDatasetName) ? $referencedDatasetName : $datasetName; $selectedColumnName = isset($referencedColumnName) ? $referencedColumnName : $columnName; $dataset = $metamodel->getDataset($selectedDatasetName); $column = $dataset->findColumn($selectedColumnName); // could be formula if (!isset($column)) { $column = $request->findFormula($selectedColumnName); } $columnDataType = isset($column) ? $column->type->applicationType : NULL; // preparing column data type based on operator parameter data type if (!isset($columnDataType) && ($this->operatorHandler instanceof ParameterBasedOperatorHandler)) { $columnDataType = $this->operatorHandler->getParameterDataType(); } } return $this->prepareExpression($callcontext, $request, $datasetName, $columnName, $columnDataType); }