foreach ($this->
getPluginCollections() as $plugin_config_key =>
$plugin_collection) { $this->
set($plugin_config_key,
$plugin_collection->
getConfiguration());
} } // Ensure this entity's UUID does not exist with a different ID, regardless
// of whether it's new or updated.
$matching_entities =
$storage->
getQuery() ->
condition('uuid',
$this->
uuid()) ->
execute();
$matched_entity =
reset($matching_entities);
if (!
empty($matched_entity) && ($matched_entity !=
$this->
id()) &&
$matched_entity !=
$this->
getOriginalId()) { throw new ConfigDuplicateUUIDException("Attempt to save a configuration entity '{
$this->
id()}' with UUID '{
$this->
uuid()}' when this UUID is already used for '
$matched_entity'"
);
} // If this entity is not new, load the original entity for comparison.
if (!
$this->
isNew()) { $original =
$storage->
loadUnchanged($this->
getOriginalId());
// Ensure that the UUID cannot be changed for an existing entity.
if ($original && ($original->
uuid() !=
$this->
uuid())) { throw new ConfigDuplicateUUIDException("Attempt to save a configuration entity '{
$this->
id()}' with UUID '{
$this->
uuid()}' when this entity already exists with UUID '{
$original->
uuid()}'"
);
} }