public function listURLAliasesForLocation($locationId, $custom = false)
{
// Look for location to list of url alias id's cache
if ($custom) {
$cache = $this->cache->getItem('urlAlias', 'location', $locationId, 'custom');
} else {
$cache = $this->cache->getItem('urlAlias', 'location', $locationId);
}
$urlAliasIds = $cache->get();
if ($cache->isMiss()) {
$this->logger->logCall(__METHOD__, array('location' => $locationId, 'custom' => $custom));
$urlAliases = $this->persistenceHandler->urlAliasHandler()->listURLAliasesForLocation($locationId, $custom);
$urlAliasIds = array();
foreach ($urlAliases as $urlAlias) {
$urlAliasIds[] = $urlAlias->id;
}
$cache->set($urlAliasIds)->save();
} else {
// Reuse loadUrlAlias for the url alias object cache
$urlAliases = array();
foreach ($urlAliasIds as $urlAliasId) {
$urlAliases[] = $this->loadUrlAlias($urlAliasId);
}
}
return $urlAliases;
}