/**
  * {@inheritdoc}
  */
 public function enhance(array $data, Resource $resource)
 {
     $object = $resource->getPayload();
     // sonata has dependency on ClassUtils so this is fine.
     $class = ClassUtils::getClass($object);
     if (false === $this->pool->hasAdminByClass($class)) {
         return $data;
     }
     $admin = $this->pool->getAdminByClass($class);
     $links = array();
     $routeCollection = $admin->getRoutes();
     foreach ($routeCollection->getElements() as $code => $route) {
         $routeName = $route->getDefault('_sonata_name');
         $url = $this->urlGenerator->generate($routeName, array($admin->getIdParameter() => $admin->getUrlsafeIdentifier($object)), true);
         $routeRole = substr($code, strlen($admin->getCode()) + 1);
         $links[$routeRole] = $url;
     }
     $data['label'] = $admin->toString($object);
     $data['sonata_label'] = $admin->getLabel();
     $data['sonata_links'] = $links;
     return $data;
 }
 /**
  * {@inheritdoc}
  */
 public function enhance(array $data, Resource $resource)
 {
     $payload = $resource->getPayload();
     $data['payload'] = $payload;
     return $data;
 }