private function loadTypeFinder(array $typeConfig, ContainerBuilder $container, $elasticaToModelId, Reference $typeRef, $indexName, $typeName)
    {
        if (isset($typeConfig['finder']['service'])) {
            $finderId = $typeConfig['finder']['service'];
        } else {
            $finderId = sprintf('fos_elastica.finder.%s.%s', $indexName, $typeName);
            $finderDef = new ChildDefinition('fos_elastica.finder');
            $finderDef->replaceArgument(0, $typeRef);
            $finderDef->replaceArgument(1, new Reference($elasticaToModelId));
            $container->setDefinition($finderId, $finderDef);
        }

        $indexTypeName = "$indexName/$typeName";
        $arguments = [$indexTypeName, new Reference($finderId)];
        if (isset($typeConfig['repository'])) {
            $arguments[] = $typeConfig['repository'];
        }

        $container->getDefinition('fos_elastica.repository_manager')
            ->addMethodCall('addType', $arguments);

        $managerId = sprintf('fos_elastica.manager.%s', $typeConfig['driver']);
        $container->getDefinition($managerId)
            ->addMethodCall('addEntity', [$typeConfig['model'], $indexTypeName]);

        return $finderId;
    }
private function loadTypeFinder(array $typeConfig, ContainerBuilder $container, $elasticaToModelId, Reference $typeRef, $indexName, $typeName)
    {
        if (isset($typeConfig['finder']['service'])) {
            $finderId = $typeConfig['finder']['service'];
        } else {
            $finderId = sprintf('fos_elastica.finder.%s.%s', $indexName, $typeName);
            $finderDef = new ChildDefinition('fos_elastica.finder');
            $finderDef->replaceArgument(0, $typeRef);
            $finderDef->replaceArgument(1, new Reference($elasticaToModelId));
            $container->setDefinition($finderId, $finderDef);
        }

        $indexTypeName = "$indexName/$typeName";
        $arguments = [$indexTypeName, new Reference($finderId)];
        if (isset($typeConfig['repository'])) {
            $arguments[] = $typeConfig['repository'];
        }

        $container->getDefinition('fos_elastica.repository_manager')
            ->addMethodCall('addType', $arguments);

        $managerId = sprintf('fos_elastica.manager.%s', $typeConfig['driver']);
        $container->getDefinition($managerId)
            ->addMethodCall('addEntity', [$typeConfig['model'], $indexTypeName]);

        return $finderId;
    }
private function loadTypeFinder ( array $ typeConfig , ContainerBuilder $ container , $ elasticaToModelId , Reference $ typeRef , $ indexName , $ typeName ) { if ( isset ( $ typeConfig [ 'finder' ] [ 'service' ] ) ) { $ finderId = $ typeConfig [ 'finder' ] [ 'service' ] ; } else { $ finderId = sprintf ( 'fos_elastica.finder.%s.%s' , $ indexName , $ typeName ) ; $ finderDef = new ChildDefinition ( 'fos_elastica.finder' ) ; $ finderDef -> replaceArgument ( 0 , $ typeRef ) ; $ finderDef -> replaceArgument ( 1 , new Reference ( $ elasticaToModelId ) ) ; $ container -> setDefinition ( $ finderId , $ finderDef ) ; } $ indexTypeName = "$indexName/$typeName" ; $ arguments = [ $ indexTypeName , new Reference ( $ finderId ) ] ; if ( isset ( $ typeConfig [ 'repository' ] ) ) { $ arguments [ ] = $ typeConfig [ 'repository' ] ; } $ container -> getDefinition ( 'fos_elastica.repository_manager' ) -> addMethodCall ( 'addType' , $ arguments ) ; $ managerId = sprintf ( 'fos_elastica.manager.%s' , $ typeConfig [ 'driver' ] ) ; $ container -> getDefinition ( $ managerId ) -> addMethodCall ( 'addEntity' , [ $ typeConfig [ 'model' ] , $ indexTypeName ] ) ; return $ finderId ; }
Loads a Type specific Finder.

@param array            $typeConfig
@param ContainerBuilder $container
@param string           $elasticaToModelId
@param Reference        $typeRef
@param string           $indexName
@param string           $typeName

@return string
Loads a Type specific Finder .