public function process(ContainerBuilder $container)
{
if (!$container->hasDefinition('ezpublish.config.resolver.chain')) {
return;
}
$chainResolver = $container->getDefinition('ezpublish.config.resolver.chain');
foreach ($container->findTaggedServiceIds('ezpublish.config.resolver') as $id => $attributes) {
$priority = isset($attributes[0]['priority']) ? (int) $attributes[0]['priority'] : 0;
// Priority range is between -255 (the lowest) and 255 (the highest)
if ($priority > 255) {
$priority = 255;
}
if ($priority < -255) {
$priority = -255;
}
$chainResolver->addMethodCall('addResolver', array(new Reference($id), $priority));
}
}