/**
  * @param SiteAliasInterface $siteAlias
  *
  * @return FacadeInterface
  *
  * @throws TransformerParameterTypeException
  */
 public function transform($siteAlias)
 {
     if (!$siteAlias instanceof SiteAliasInterface) {
         throw new TransformerParameterTypeException();
     }
     $facade = $this->newFacade();
     $facade->domain = $siteAlias->getDomain();
     $facade->language = $siteAlias->getLanguage();
     $facade->scheme = $siteAlias->getScheme();
     $facade->prefix = $siteAlias->getPrefix();
     return $facade;
 }
 /**
  * Get a preview link
  *
  * @param string             $scheme
  * @param SiteAliasInterface $alias
  * @param string             $encryptedId
  * @param int                $aliasId
  *
  * @return FacadeInterface
  */
 protected function getPreviewLink($scheme, $alias, $encryptedId, $aliasId)
 {
     $previewLink = array('name' => $alias->getDomain(), 'link' => '');
     if (is_null($scheme) || SchemeableInterface::SCHEME_DEFAULT == $scheme) {
         $scheme = $alias->getScheme();
     }
     $domain = $scheme . '://' . $alias->getDomain();
     $routeName = 'open_orchestra_base_node_preview';
     $parameters = array('token' => $encryptedId, 'aliasId' => $aliasId);
     $previewLink['link'] = $domain . $this->generateRoute($routeName, $parameters, UrlGeneratorInterface::ABSOLUTE_PATH);
     return $this->getTransformer('link')->transform($previewLink);
 }