/**
* {@inheritdoc}
*/
protected function processStubRow(Row
$row) { // We stub the uri value ourselves so we can create a real stub file for it.
if (!
$row->
getDestinationProperty('uri'
)) { $field_definitions =
$this->entityFieldManager
->
getFieldDefinitions($this->storage->
getEntityTypeId(),
$this->
getKey('bundle'
));
$value = UriItem::
generateSampleValue($field_definitions['uri'
]);
if (empty($value)) { throw new MigrateException('Stubbing failed, unable to generate value for field uri'
);
} // generateSampleValue() wraps the value in an array.
$value =
reset($value);
// Make it into a proper public file uri, stripping off the existing
// scheme if present.
$value = 'public://' .
preg_replace('|^[a-z]+://|i', '',
$value);
$value =
mb_substr($value, 0,
$field_definitions['uri'
]->
getSetting('max_length'
));
// Create a real file, so File::preSave() can do filesize() on it.
touch($value);