/** * {@inheritdoc} * */ public function setDataValue($input, DataField &$dataField, array $options) { $format = $this->getFormat($options); $converted = \DateTime::createFromFormat($format, $input); if ($converted) { $dataField->setRawData($converted->format(\DateTime::ISO8601)); } else { $dataField->setRawData(null); } }
public function convertInput(DataField $dataField) { if (!empty($dataField->getInputValue())) { $content = file_get_contents($dataField->getInputValue()); $rawData = ['url' => $dataField->getInputValue(), 'content' => base64_encode($content), 'size' => strlen($content)]; $dataField->setRawData($rawData); } else { $dataField->setRawData(['content' => ""]); } }
public function convertInput(DataField $dataField) { if (!empty($dataField->getInputValue()) && !empty($dataField->getInputValue()['sha1'])) { $rawData = $dataField->getInputValue(); $rawData['content'] = $this->fileService->getBase64($rawData['sha1']); if (!$rawData['content']) { unset($rawData['content']); } $rawData['filesize'] = $this->fileService->getSize($rawData['sha1']); if (!$rawData['filesize']) { unset($rawData['filesize']); } $dataField->setRawData($rawData); } else { $dataField->setRawData(['content' => ""]); } }
/** * Assign data of the dataField based on the elastic index content ($sourceArray) * * @param DataField $dataField * @param unknown $sourceArray */ public function importData(DataField $dataField, $sourceArray, $isMigration) { $migrationOptions = $dataField->getFieldType()->getMigrationOptions(); if (!$isMigration || empty($migrationOptions) || !$migrationOptions['protected']) { $dataField->setRawData($sourceArray); } return [$dataField->getFieldType()->getName()]; }
/** * * {@inheritdoc} * */ public function importData(DataField $dataField, $sourceArray, $isMigration) { $migrationOptions = $dataField->getFieldType()->getMigrationOptions(); if (!$isMigration || empty($migrationOptions) || !$migrationOptions['protected']) { if (!$dataField->getFieldType()->getMappingOptions()['nested']) { $out = []; $in = []; if (isset($sourceArray[$dataField->getFieldType()->getMappingOptions()['fromDateMachineName']])) { $out[] = $dataField->getFieldType()->getMappingOptions()['fromDateMachineName']; $in[$dataField->getFieldType()->getMappingOptions()['fromDateMachineName']] = $sourceArray[$dataField->getFieldType()->getMappingOptions()['fromDateMachineName']]; } if (isset($sourceArray[$dataField->getFieldType()->getMappingOptions()['toDateMachineName']])) { $out[] = $dataField->getFieldType()->getMappingOptions()['toDateMachineName']; $in[$dataField->getFieldType()->getMappingOptions()['toDateMachineName']] = $sourceArray[$dataField->getFieldType()->getMappingOptions()['toDateMachineName']]; } $dataField->setRawData($in); return $out; } else { return parent::importData($dataField, $sourceArray, $isMigration); } } return [$dataField->getFieldType()->getName()]; }
public function propagateDataToComputedField(DataField $dataField, array $objectArray, $type, $ouuid) { $found = false; if (null !== $dataField->getFieldType()) { if (strcmp($dataField->getFieldType()->getType(), ComputedFieldType::class) == 0) { $template = $dataField->getFieldType()->getDisplayOptions()['valueTemplate']; if (empty($template)) { $out = NULL; } else { try { $out = $this->twig->createTemplate($template)->render(['_source' => $objectArray, '_type' => $type, '_id' => $ouuid]); if ($dataField->getFieldType()->getDisplayOptions()['json']) { $out = json_decode($out); } } catch (\Exception $e) { $out = "Error in template: " . $e->getMessage(); } } $dataField->setRawData($out); $found = true; } } foreach ($dataField->getChildren() as $child) { $found = $found || $this->propagateDataToComputedField($child, $objectArray, $type, $ouuid); } return $found; }
/** * * {@inheritdoc} * */ public function importData(DataField $dataField, $sourceArray, $isMigration) { $migrationOptions = $dataField->getFieldType()->getMigrationOptions(); if (!$isMigration || empty($migrationOptions) || !$migrationOptions['protected']) { $format = $dataField->getFieldType()->getMappingOptions()['format']; $format = DateFieldType::convertJavaDateFormat($format); if (null == $sourceArray) { $sourceArray = []; } if (is_string($sourceArray)) { $sourceArray = [$sourceArray]; } $data = []; foreach ($sourceArray as $idx => $child) { $dateObject = \DateTime::createFromFormat($format, $child); $data[] = $dateObject->format(\DateTime::ISO8601); } $dataField->setRawData($data); } return [$dataField->getFieldType()->getName()]; }