private function prepareCacheInstanceConfiguration(array $config = array())
{
$cacheConfig = $config['cache'];
$defaultCacheInstanceName = isset($cacheConfig['defaultCacheInstance']) ? $cacheConfig['defaultCacheInstance'] : $this->defaultCacheInstance;
unset($cacheConfig['defaultCacheInstance']);
$defaultCacheInstance = array('adapterClass' => 'Doctrine\\Common\\Cache\\ArrayCache', 'namespace' => '', 'options' => array());
$instances = array();
if (isset($cacheConfig['instances'])) {
$configInstances = $cacheConfig['instances'];
foreach ($configInstances as $name => $instance) {
$name = isset($instance['id']) ? $instance['id'] : $name;
$instances[$name] = array_replace_recursive($defaultCacheInstance, $instance);
}
} else {
$instances = array($defaultCacheInstanceName => array_replace_recursive($defaultCacheInstance, $cacheConfig));
}
return array('defaultCacheInstance' => $defaultCacheInstanceName, 'instances' => $instances);
}