public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config        = $this->processConfiguration($configuration, $configs);
        $loader        = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config/services'));

        foreach ($config['service'] as $key => $service) {
            if (null !== $service) {
                $container->setAlias('abc.job.' . $key, $service);
            }
        }

        $container->setParameter('abc.job.controller_service', $config['service']['controller']);
        $container->setParameter('abc.job.locker_service', $config['service']['locker']);

        $this->remapParametersNamespaces(
            $config,
            $container,
            array(
                '' => array(
                    'db_driver'             => 'abc.job.db_driver',
                    'adapter'               => 'abc.job.adapter',
                    'connection'            => 'abc.job.connection',
                    'model_manager_name'    => 'abc.job.model_manager_name',
                    'register_default_jobs' => 'abc.job.register_default_jobs',
                    'queues'                => 'abc.job.queue_config',
                    'default_queue'         => 'abc.job.default_queue',
                )
            )
        );

        $this->remapParametersNamespaces(
            $config,
            $container,
            array(
                'logging' => array(
                    'directory' => 'abc.job.logging.directory',
                )
            )
        );

        $this->remapParametersNamespaces(
            $config,
            $container,
            array(
                'controller' => array(
                    'refresh_interval' => 'abc.job.controller.refresh_interval'
                )
            )
        );

        if ('custom' !== $config['db_driver']) {
            $loader->load(sprintf('%s.xml', $config['db_driver']));
        }

        if ('custom' !== $config['adapter']) {
            $loader->load(sprintf('adapter_%s.xml', $config['adapter']));
        }

        $this->loadManager($config, $loader, $container);
        $this->loadRest($config, $loader, $container);
        $this->loadDefaultJobs($config, $loader, $container);
        $this->loadLogger($config, $loader, $container);

        $loader->load('scheduler.xml');
        $loader->load('validator.xml');
        $loader->load('commands.xml');
        $loader->load('serializer.xml');
        $loader->load('locker.xml');
    }
public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config        = $this->processConfiguration($configuration, $configs);
        $loader        = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config/services'));

        foreach ($config['service'] as $key => $service) {
            if (null !== $service) {
                $container->setAlias('abc.job.' . $key, $service);
            }
        }

        $container->setParameter('abc.job.controller_service', $config['service']['controller']);
        $container->setParameter('abc.job.locker_service', $config['service']['locker']);

        $this->remapParametersNamespaces(
            $config,
            $container,
            array(
                '' => array(
                    'db_driver'             => 'abc.job.db_driver',
                    'adapter'               => 'abc.job.adapter',
                    'connection'            => 'abc.job.connection',
                    'model_manager_name'    => 'abc.job.model_manager_name',
                    'register_default_jobs' => 'abc.job.register_default_jobs',
                    'queues'                => 'abc.job.queue_config',
                    'default_queue'         => 'abc.job.default_queue',
                )
            )
        );

        $this->remapParametersNamespaces(
            $config,
            $container,
            array(
                'logging' => array(
                    'directory' => 'abc.job.logging.directory',
                )
            )
        );

        $this->remapParametersNamespaces(
            $config,
            $container,
            array(
                'controller' => array(
                    'refresh_interval' => 'abc.job.controller.refresh_interval'
                )
            )
        );

        if ('custom' !== $config['db_driver']) {
            $loader->load(sprintf('%s.xml', $config['db_driver']));
        }

        if ('custom' !== $config['adapter']) {
            $loader->load(sprintf('adapter_%s.xml', $config['adapter']));
        }

        $this->loadManager($config, $loader, $container);
        $this->loadRest($config, $loader, $container);
        $this->loadDefaultJobs($config, $loader, $container);
        $this->loadLogger($config, $loader, $container);

        $loader->load('scheduler.xml');
        $loader->load('validator.xml');
        $loader->load('commands.xml');
        $loader->load('serializer.xml');
        $loader->load('locker.xml');
    }
{@inheritDoc}