Example #1
0
 /**
  * {@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' => ""]);
     }
 }
Example #4
0
 /**
  * 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()];
 }
Example #5
0
 /**
  *
  * {@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()];
 }
Example #6
0
 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;
 }
Example #7
0
 /**
  *
  * {@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()];
 }