public function ConfigEntityRevisionsRevisionStorageHandler::getConfigEntity in Config Entity Revisions 8.2
Get a Config Entity instance from Content Entity Revision.
Parameters
\Drupal\config_entity_revisions\Entity\ConfigEntityRevisions $content_entity: The ConfigEntityRevisions entity instance.
Return value
\Drupal\config_entity_revisions\Entity\ConfigEntityRevisions The deserialised config entity.
Overrides ConfigEntityRevisionsRevisionStorageHandlerInterface::getConfigEntity
File
- src/
Entity/ Handler/ ConfigEntityRevisionsRevisionStorageHandler.php, line 252
Class
- ConfigEntityRevisionsRevisionStorageHandler
- Class ConfigEntityRevisionsRevisionStorageHandler.
Namespace
Drupal\config_entity_revisions\Entity\HandlerCode
public function getConfigEntity(ConfigEntityRevisions $content_entity, $class = '') {
if ($class == '') {
if (!$this->configEntity) {
throw new Exception('No class name or instance suppled to ConfigEntityRevisionsRevisionStorageHandler::getConfigEntity');
}
$class = get_class($this->configEntity);
}
$config_entity = $this->serialiser
->deserialize($content_entity
->get('configuration')->value, $class, 'json');
// The result of serialising and then deserialising is not an exact
// copy of the original. This causes problems downstream if we don't fix
// a few attributes here.
$config_entity
->set('settingsOriginal', $config_entity
->get('settings'));
$config_entity
->set('enforceIsNew', FALSE);
$config_entity->loadedRevisionId = $content_entity
->getRevisionId();
if ($config_entity->moderation_state) {
$config_entity->moderation_state->value = $content_entity->moderation_state->value;
}
return $config_entity;
}