diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php index 7960edc272d..2b5dfd54342 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityType.php @@ -63,8 +63,11 @@ class ConfigEntityType extends EntityType { /** * {@inheritdoc} */ - public function getControllerClasses() { - return parent::getControllerClasses() + array( + public function __construct($definition) { + parent::__construct($definition); + // Always add a default 'uuid' key. + $this->entity_keys['uuid'] = 'uuid'; + $this->controllers += array( 'storage' => 'Drupal\Core\Config\Entity\ConfigEntityStorage', ); } @@ -94,15 +97,6 @@ class ConfigEntityType extends EntityType { return $config_prefix; } - /** - * {@inheritdoc} - */ - public function getKeys() { - // Always add a default 'uuid' key. - return array('uuid' => 'uuid') + parent::getKeys(); - } - - /** * {@inheritdoc} */ diff --git a/core/lib/Drupal/Core/Entity/ContentEntityType.php b/core/lib/Drupal/Core/Entity/ContentEntityType.php index f69f9017bc5..4be18fe196e 100644 --- a/core/lib/Drupal/Core/Entity/ContentEntityType.php +++ b/core/lib/Drupal/Core/Entity/ContentEntityType.php @@ -15,8 +15,9 @@ class ContentEntityType extends EntityType implements ContentEntityTypeInterface /** * {@inheritdoc} */ - public function getControllerClasses() { - return parent::getControllerClasses() + array( + public function __construct($definition) { + parent::__construct($definition); + $this->controllers += array( 'storage' => 'Drupal\Core\Entity\ContentEntityDatabaseStorage', ); } diff --git a/core/lib/Drupal/Core/Entity/EntityType.php b/core/lib/Drupal/Core/Entity/EntityType.php index ac49238aeaa..728b3ec34f0 100644 --- a/core/lib/Drupal/Core/Entity/EntityType.php +++ b/core/lib/Drupal/Core/Entity/EntityType.php @@ -217,6 +217,15 @@ class EntityType implements EntityTypeInterface { foreach ($definition as $property => $value) { $this->{$property} = $value; } + + // Ensure defaults. + $this->entity_keys += array( + 'revision' => '', + 'bundle' => '' + ); + $this->controllers += array( + 'access' => 'Drupal\Core\Entity\EntityAccessController', + ); } /** @@ -259,7 +268,7 @@ class EntityType implements EntityTypeInterface { * {@inheritdoc} */ public function getKeys() { - return $this->entity_keys + array('revision' => '', 'bundle' => ''); + return $this->entity_keys; } /** @@ -318,9 +327,7 @@ class EntityType implements EntityTypeInterface { * {@inheritdoc} */ public function getControllerClasses() { - return $this->controllers + array( - 'access' => 'Drupal\Core\Entity\EntityAccessController', - ); + return $this->controllers; } /**