Sulu\Bundle\RouteBundle\Entity\RouteRepositoryInterface::createNew PHP Method

createNew() public method

Returns new route entity.
public createNew ( ) : Sulu\Bundle\RouteBundle\Model\RouteInterface
return Sulu\Bundle\RouteBundle\Model\RouteInterface
    public function createNew();

Usage Example

Example #1
0
 /**
  * {@inheritdoc}
  */
 public function update(RoutableInterface $entity, $path = null)
 {
     if (null === $entity->getRoute()) {
         throw new RouteNotCreatedException($entity);
     }
     $config = $this->getClassMappingConfiguration(get_class($entity));
     if (null === $path) {
         $path = $this->routeGenerators[$config['generator']]->generate($entity, $config['options']);
     }
     if ($path === $entity->getRoute()->getPath()) {
         return $entity->getRoute();
     }
     $route = $this->routeRepository->createNew()->setPath($path)->setEntityClass(get_class($entity))->setEntityId($entity->getId())->setLocale($entity->getLocale());
     $route = $this->conflictResolver->resolve($route);
     // path haven't changed after conflict resolving
     if ($route->getPath() === $entity->getRoute()->getPath()) {
         return $entity->getRoute();
     }
     $historyRoute = $entity->getRoute()->setHistory(true)->setTarget($route);
     $route->addHistory($historyRoute);
     foreach ($historyRoute->getHistories() as $historyRoute) {
         if ($historyRoute->getPath() === $route->getPath()) {
             // the history route will be restored
             $historyRoute->removeTarget()->setHistory(false);
             continue;
         }
         $route->addHistory($historyRoute);
         $historyRoute->setTarget($route);
     }
     $entity->setRoute($route);
     return $route;
 }
RouteRepositoryInterface