public function initialize($parameters = array())
 {
     parent::initialize($parameters);
     $schema = $this->getParameter('schema');
     $connectionName = $this->getParameter('name');
     $connectionOptions = $this->getParameter('options');
     $plugins = (array) $this->getParameter('plugins');
     $config = new \Doctrine\ORM\Configuration();
     $config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache());
     $configuration = sfProjectConfiguration::getActive();
     $paths = array();
     if ($schema) {
         $paths[] = $schema;
     }
     $paths[] = realpath(__DIR__ . '/../config/doctrine');
     $paths[] = realpath(sfConfig::get('sf_config_dir') . '/doctrine');
     $enabledPlugins = $configuration->getPlugins();
     foreach ($configuration->getAllPluginPaths() as $plugin => $path) {
         if (!in_array($plugin, $enabledPlugins) || !in_array($plugin, $plugins)) {
             continue;
         }
         $paths[] = $path . '/config/doctrine';
     }
     $paths = array_unique($paths);
     $config->setMetadataDriverImpl(new YamlDriver($paths));
     $config->setProxyDir(sfConfig::get('sf_lib_dir') . '/Proxies');
     $config->setProxyNamespace('Proxies');
     $configuration = sfProjectConfiguration::getActive();
     if (sfConfig::get('sf_debug')) {
         $config->setSqlLogger(new sfDoctrineSqlLogger($configuration->getEventDispatcher()));
     }
     $method = sprintf('configureDoctrineConnection%s', $connectionName);
     $methodExists = method_exists($configuration, $method);
     if (method_exists($configuration, 'configureDoctrineConnection') && !$methodExists) {
         $configuration->configureDoctrineConnection($config);
     } else {
         if ($methodExists) {
             $configuration->{$method}($config);
         }
     }
     $this->em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);
     if (method_exists($configuration, 'configureEntityManager')) {
         $configuration->configureEntityManager($this->em);
     }
     ActiveEntity::setEntityManager($this->em);
     // ODM MongoDB
     $config = new Doctrine\ODM\MongoDB\Configuration();
     $config->setProxyDir(sfConfig::get('sf_lib_dir') . '/Proxies');
     $config->setProxyNamespace('Proxies');
     $reader = new Doctrine\Common\Annotations\AnnotationReader();
     $reader->setDefaultAnnotationNamespace('Doctrine\\ODM\\MongoDB\\Mapping\\');
     $config->setMetadataDriverImpl(new Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($reader, sfConfig::get('sf_lib_dir') . DIRECTORY_SEPARATOR . 'Documents'));
     $this->dm = Doctrine\ODM\MongoDB\DocumentManager::create(new \Doctrine\ODM\MongoDB\Mongo(), $config);
 }
Beispiel #2
0
 /**
  * @return DocumentManager
  */
 protected function createTestDocumentManager($paths = array())
 {
     $config = new \Doctrine\ODM\MongoDB\Configuration();
     $config->setAutoGenerateProxyClasses(true);
     $config->setProxyDir(\sys_get_temp_dir());
     $config->setHydratorDir(\sys_get_temp_dir());
     $config->setProxyNamespace('SymfonyTests\\Doctrine');
     $config->setHydratorNamespace('SymfonyTests\\Doctrine');
     $config->setMetadataDriverImpl($config->newDefaultAnnotationDriver($paths));
     $config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache());
     return DocumentManager::create(new Connection(), $config);
 }
 public function formatDBName($dbName)
 {
     return sprintf('%s%s%s',
         $this->config->getDatabasePrefix(),
         $dbName,
         $this->config->getDatabaseSuffix()
     );
 }
 protected function setUp()
 {
     $config = new \Doctrine\ODM\MongoDB\Configuration();
     $config->setHydratorDir(sys_get_temp_dir());
     $config->setHydratorNamespace('Hydrators');
     $config->setProxyDir(sys_get_temp_dir());
     $config->setProxyNamespace('Proxies');
     $locatorXml = new SymfonyFileLocator(array(__DIR__ . '/../../../../../lib/Vespolina/Action/Mapping' => 'Vespolina\\Entity\\Action'), '.mongodb.xml');
     $xmlDriver = new XmlDriver($locatorXml);
     $config->setMetadataDriverImpl($xmlDriver);
     $config->setMetadataCacheImpl(new ArrayCache());
     $config->setAutoGenerateProxyClasses(true);
     $doctrineODM = \Doctrine\ODM\MongoDB\DocumentManager::create(null, $config);
     $this->actionGateway = new ActionDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Action\\Action');
     parent::setUp();
 }
 /**
  * Returns the MongoDB instance for a class.
  *
  * @param string $className The class name.
  * @return Doctrine\MongoDB\Database
  */
 public function getDocumentDatabase($className)
 {
     if (isset($this->documentDatabases[$className])) {
         return $this->documentDatabases[$className];
     }
     $metadata = $this->metadataFactory->getMetadataFor($className);
     $db = $metadata->getDatabase();
     $db = $db ? $db : $this->config->getDefaultDB();
     $db = $db ? $db : 'doctrine';
     $this->documentDatabases[$className] = $this->connection->selectDatabase($db);
     return $this->documentDatabases[$className];
 }
 protected function dbSetUp()
 {
     $config = new \Doctrine\ODM\MongoDB\Configuration();
     $config->setHydratorDir(sys_get_temp_dir());
     $config->setHydratorNamespace('Hydrators');
     $config->setProxyDir(sys_get_temp_dir());
     $config->setProxyNamespace('Proxies');
     $locatorXml = new SymfonyFileLocator(array(__DIR__ . '/../../../../lib/Vespolina/Brand/Mapping' => 'Vespolina\\Entity\\Brand', __DIR__ . '/../../../../lib/Vespolina/Product/Mapping' => 'Vespolina\\Entity\\Product', __DIR__ . '/../../../../lib/Vespolina/Pricing/Mapping' => 'Vespolina\\Entity\\Pricing', __DIR__ . '/../../../../vendor/vespolina/taxonomy/lib/Vespolina/Taxonomy/Mapping' => 'Vespolina\\Entity\\Taxonomy'), '.mongodb.xml');
     $xmlDriver = new XmlDriver($locatorXml);
     $config->setMetadataDriverImpl($xmlDriver);
     $config->setMetadataCacheImpl(new ArrayCache());
     $config->setAutoGenerateProxyClasses(true);
     $doctrineODM = \Doctrine\ODM\MongoDB\DocumentManager::create(null, $config);
     $doctrineODM->getEventManager()->addEventSubscriber(new TreeListener());
     $this->brandGateway = new BrandDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Brand\\Brand');
     $this->productGateway = new ProductDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Product\\Product');
     $this->taxonomyGateway = new TaxonomyDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Taxonomy\\TaxonomyNode');
 }
 protected function _createDocumentManager($metadataDriver)
 {
     $connMock = new ConnectionMock();
     $config = new \Doctrine\ODM\MongoDB\Configuration();
     $config->setProxyDir(__DIR__ . '/../../Proxies');
     $config->setProxyNamespace('Doctrine\\ODM\\MongoDB\\Tests\\Proxies');
     $config->setHydratorDir(__DIR__ . '/../../Hydrators');
     $config->setHydratorNamespace('Doctrine\\ODM\\MongoDB\\Tests\\Hydrators');
     $eventManager = new EventManager();
     $mockDriver = new MetadataDriverMock();
     $config->setMetadataDriverImpl($metadataDriver);
     return DocumentManagerMock::create($connMock, $config, $eventManager);
 }
 /**
  * Create a DocumentManager instance for tests.
  *
  * @return Doctrine\ODM\MongoDB\DocumentManager
  */
 protected function getMockMongoDbDocumentManager()
 {
     $prefixes = array(__DIR__ . '/../../Resources/config/model' => 'Lexik\\Bundle\\TranslationBundle\\Model', __DIR__ . '/../../Resources/config/doctrine' => 'Lexik\\Bundle\\TranslationBundle\\Document');
     $xmlDriver = new \Doctrine\Bundle\MongoDBBundle\Mapping\Driver\XmlDriver($prefixes);
     $cache = new \Doctrine\Common\Cache\ArrayCache();
     $config = new \Doctrine\ODM\MongoDB\Configuration();
     $config->setMetadataCacheImpl($cache);
     $config->setMetadataDriverImpl($xmlDriver);
     $config->setProxyDir(sys_get_temp_dir());
     $config->setProxyNamespace('Proxy');
     $config->setAutoGenerateProxyClasses(true);
     $config->setClassMetadataFactoryName('Doctrine\\ODM\\MongoDB\\Mapping\\ClassMetadataFactory');
     $config->setDefaultDB('lexik_translation_bundle_test');
     $config->setHydratorDir(sys_get_temp_dir());
     $config->setHydratorNamespace('Doctrine\\ODM\\MongoDB\\Hydrator');
     $config->setAutoGenerateHydratorClasses(true);
     $config->setDefaultCommitOptions(array());
     $options = array();
     $conn = new \Doctrine\MongoDB\Connection(null, $options, $config);
     $dm = \Doctrine\ODM\MongoDB\DocumentManager::create($conn, $config);
     return $dm;
 }
 /**
  * Gets the 'doctrine_mongodb.odm.default_configuration' service.
  *
  * This service is shared.
  * This method always returns the same instance of the service.
  *
  * @return \Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance.
  */
 protected function getDoctrineMongodb_Odm_DefaultConfigurationService()
 {
     $a = new \Doctrine\Common\Cache\ArrayCache();
     $a->setNamespace('sf2mongodb_default_f8e1861c29d51710d03fc757e3effb289ace6597b2362f1871b5952432e41cd1');
     $b = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain();
     $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($this->get('annotation_reader'), array(0 => $this->targetDirs[3] . '/src/Acme/PersonBundle/Document')), 'Acme\\PersonBundle\\Document');
     $c = new \Doctrine\Bundle\MongoDBBundle\Logger\Logger($this->get('monolog.logger.doctrine', ContainerInterface::NULL_ON_INVALID_REFERENCE));
     $c->setBatchInsertThreshold(4);
     $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration();
     $instance->setDocumentNamespaces(array('PersonBundle' => 'Acme\\PersonBundle\\Document'));
     $instance->setMetadataCacheImpl($a);
     $instance->setMetadataDriverImpl($b);
     $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies');
     $instance->setProxyNamespace('MongoDBODMProxies');
     $instance->setAutoGenerateProxyClasses(false);
     $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators');
     $instance->setHydratorNamespace('Hydrators');
     $instance->setAutoGenerateHydratorClasses(false);
     $instance->setDefaultDB('person');
     $instance->setDefaultCommitOptions(array());
     $instance->setRetryConnect(0);
     $instance->setRetryQuery(0);
     $instance->setDefaultRepositoryClassName('Doctrine\\ODM\\MongoDB\\DocumentRepository');
     $instance->setLoggerCallable(array(0 => new \Doctrine\Bundle\MongoDBBundle\Logger\AggregateLogger(array(0 => $c, 1 => $this->get('doctrine_mongodb.odm.data_collector.pretty'))), 1 => 'logQuery'));
     return $instance;
 }
 protected function getDoctrine_Odm_Mongodb_ConfigurationService()
 {
     if (isset($this->shared['doctrine.odm.mongodb.configuration'])) {
         return $this->shared['doctrine.odm.mongodb.configuration'];
     }
     $instance = new Doctrine\ODM\MongoDB\Configuration();
     $this->shared['doctrine.odm.mongodb.configuration'] = $instance;
     $instance->setProxyDir($this->getParameter('doctrine.odm.mongodb.proxy_dir'));
     $instance->setProxyNamespace($this->getParameter('doctrine.odm.mongodb.proxy_namespace'));
     $instance->setAutoGenerateProxyClasses($this->getParameter('doctrine.odm.mongodb.auto_generate_proxy_classes'));
     $instance->setMetadataDriverImpl($this->getDoctrine_Odm_Mongodb_Metadata_AnnotationService());
     $instance->setDefaultDB($this->getParameter('doctrine.odm.mongodb.default_database'));
     return $instance;
 }
Beispiel #11
0
 /**
  * Tenta estabelecer a conexão ao banco relacional ou de documentos.
  * 
  * @return \Doctrine\ORM\EntityManager | \Doctrine\ODM\MongoDB\DocumentManager
  */
 private function estabelecerConexao()
 {
     $tipo = explode(':', $this->_configuracao->get($this->_servidor . '.persistencia_uri'));
     $tipo = $tipo[0];
     if (!empty($tipo)) {
         if ($tipo === 'mongodb') {
             \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::registerAnnotationClasses();
         }
         $classLoader = new ClassLoader('Domain\\Entity', implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'app', 'models']));
         $classLoader->register();
         $doctrine_models_dir = implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'app', 'models']);
         $doctrine_entities_dir = implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'app', 'models', 'Domain', 'Entity']);
         $doctrine_proxies_dir = implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'tmp', 'models', 'Domain', 'Entity', 'Proxies']);
         $doctrine_hydrators_dir = implode(DIRECTORY_SEPARATOR, [__APPDIR__, 'tmp', 'models', 'Domain', 'Entity', 'Hydrators']);
         // cria os diretórios dos proxys e hydrators, caso não haja (necessários
         // para o Doctrine)
         if (!PROJECT_STAGE) {
             Arquivo::criarDiretorio($doctrine_proxies_dir);
             Arquivo::criarDiretorio($doctrine_hydrators_dir);
         }
         // verifica se não é MongoDB
         if ($tipo !== 'mongodb') {
             // provê algumas informações iniciais do banco de dados
             switch ($tipo) {
                 case 'sqlite':
                     $parametrosConexao = ['driver' => 'pdo_' . $tipo, 'path' => $this->_configuracao->get($this->_servidor . '.persistencia_banco')];
                     break;
                 case 'mysql':
                     $parametrosConexao = ['driver' => 'pdo_' . $tipo, 'user' => $this->_configuracao->get($this->_servidor . '.persistencia_usuario'), 'password' => $this->_configuracao->get($this->_servidor . '.persistencia_senha'), 'host' => $this->_configuracao->get($this->_servidor . '.persistencia_servidor'), 'dbname' => $this->_configuracao->get($this->_servidor . '.persistencia_banco'), \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\'; SET CHARACTER SET \'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\'; SET character_set_connection=\'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\'; SET character_set_client=\'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\'; SET character_set_results=\'' . $this->_configuracao->get($this->_servidor . '.persistencia_charset') . '\';'];
                     break;
                     // em teste funciona para quase todos os tipos de PDO
                 // em teste funciona para quase todos os tipos de PDO
                 default:
                     $parametrosConexao = ['driver' => 'pdo_' . $tipo, 'user' => $this->_configuracao->get($this->_servidor . '.persistencia_usuario'), 'password' => $this->_configuracao->get($this->_servidor . '.persistencia_senha'), 'host' => $this->_configuracao->get($this->_servidor . '.persistencia_servidor'), 'dbname' => $this->_configuracao->get($this->_servidor . '.persistencia_banco')];
                     break;
             }
             // cria os mapeamentos das entidades do banco de dados, caso não existam
             if (count(glob($doctrine_entities_dir . '/*.php')) === 0) {
                 $configuracao = new \Doctrine\ORM\Configuration();
                 $configuracao->setMetadataDriverImpl($configuracao->newDefaultAnnotationDriver($doctrine_entities_dir, FALSE));
                 $configuracao->setProxyDir($doctrine_proxies_dir);
                 $configuracao->setProxyNamespace('Proxies');
                 $entityManager = \Doctrine\ORM\EntityManager::create($parametrosConexao, $configuracao);
                 // custom datatypes (not mapped for reverse engineering)
                 $entityManager->getConnection()->getDatabasePlatform()->registerDoctrineTypeMapping('set', 'string');
                 $entityManager->getConnection()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
                 // define namespace
                 $driver = new \Doctrine\ORM\Mapping\Driver\DatabaseDriver($entityManager->getConnection()->getSchemaManager());
                 $driver->setNamespace('Domain\\Entity\\');
                 // define driver with namespace
                 $entityManager->getConfiguration()->setMetadataDriverImpl($driver);
                 $disconnectedClassMetadataFactory = new \Doctrine\ORM\Tools\DisconnectedClassMetadataFactory();
                 $disconnectedClassMetadataFactory->setEntityManager($entityManager);
                 $entityGenerator = new \Doctrine\ORM\Tools\EntityGenerator();
                 $entityGenerator->setUpdateEntityIfExists(true);
                 $entityGenerator->setGenerateStubMethods(true);
                 $entityGenerator->setGenerateAnnotations(true);
                 $entityGenerator->generate($disconnectedClassMetadataFactory->getAllMetadata(), $doctrine_models_dir);
             }
             // carrega as entidades
             \Pudim\Arquivo::requererDiretorio($doctrine_entities_dir);
             $configuracao = \Doctrine\ORM\Tools\Setup::createConfiguration(!(bool) PROJECT_STAGE);
             $driver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver(new \Doctrine\Common\Annotations\AnnotationReader(), $doctrine_entities_dir);
             // registering noop annotation autoloader - allow all annotations by default
             \Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists');
             $configuracao->setMetadataDriverImpl($driver);
             $configuracao->setAutoGenerateProxyClasses(!(bool) PROJECT_STAGE);
             $configuracao->setProxyDir($doctrine_proxies_dir);
             $configuracao->setProxyNamespace('Proxies');
             if (PROJECT_STAGE) {
                 $cache = new \Doctrine\Common\Cache\ArrayCache();
             } else {
                 $cache = new \Doctrine\Common\Cache\ApcCache();
             }
             $configuracao->setMetadataCacheImpl($cache);
             $configuracao->setQueryCacheImpl($cache);
             // obtaining the entity manager (7)
             $eventManager = new \Doctrine\Common\EventManager();
             $conexao = \Doctrine\ORM\EntityManager::create($parametrosConexao, $configuracao, $eventManager);
         } else {
             $configuracao = new \Doctrine\ODM\MongoDB\Configuration();
             $metadata = AnnotationDriver::create($doctrine_entities_dir);
             $configuracao->setMetadataDriverImpl($metadata);
             $configuracao->setAutoGenerateProxyClasses(!(bool) PROJECT_STAGE);
             $configuracao->setProxyDir($doctrine_proxies_dir);
             $configuracao->setProxyNamespace('Proxies');
             $configuracao->setAutoGenerateHydratorClasses(!(bool) PROJECT_STAGE);
             $configuracao->setHydratorDir($doctrine_hydrators_dir);
             $configuracao->setHydratorNamespace('Hydrators');
             $configuracao->setDefaultDB($this->_configuracao->get($this->_servidor . '.persistencia_banco'));
             //$configuracao->setLoggerCallable(function (array $log) { print_r($log); });
             $cache_uri = $this->_configuracao->get($this->_servidor . '.cache_uri');
             if (PROJECT_STAGE && class_exists('Redis') && $cache_uri) {
                 // trata o $cache_uri pois somente precisamos do servidor e a porta
                 if (strpos($cache_uri, '//')) {
                     $cache_uri_parts = explode('//', $cache_uri);
                     if (strpos($cache_uri_parts[1], ':')) {
                         list($cache_server, $cache_port) = explode(':', $cache_uri_parts[1]);
                     } else {
                         $cache_server = $cache_uri_parts[1];
                         $cache_port = '6379';
                     }
                     unset($cache_uri_parts);
                 } else {
                     $cache_server = $cache_uri;
                     $cache_port = '6379';
                 }
                 $redis = new \Redis();
                 $redis->pconnect($cache_server, $cache_port);
                 $metadataCache = new \Doctrine\Common\Cache\RedisCache();
                 $metadataCache->setRedis($redis);
                 $configuracao->setMetadataCacheImpl($metadataCache);
                 unset($cache_server, $cache_port, $redis, $metadataCache);
             }
             $conexao = new \Doctrine\MongoDB\Connection($this->_configuracao->get($this->_servidor . '.persistencia_uri'));
             $conexao = \Doctrine\ODM\MongoDB\DocumentManager::create($conexao, $configuracao);
             // FIX: Muito importante pois força a criação dos índices no aplicativo
             $conexao->getSchemaManager()->ensureIndexes();
         }
     }
     return $conexao;
 }
 /**
  * Gets the 'doctrine_mongodb.odm.default_configuration' service.
  *
  * This service is shared.
  * This method always returns the same instance of the service.
  *
  * @return \Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance
  */
 protected function getDoctrineMongodb_Odm_DefaultConfigurationService()
 {
     $a = $this->get('annotation_reader');
     $b = new \Doctrine\Common\Cache\ArrayCache();
     $b->setNamespace('sf2mongodb_default_7647d006d7bc368ba7102dd989c0595b9e95402f97e9e94d3f88dcfa510be424');
     $c = new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($a, array(0 => $this->targetDirs[3] . '\\src\\DigitalPilot\\CmsBundle\\Document', 1 => $this->targetDirs[3] . '\\src\\UserBundle\\Document'));
     $d = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain();
     $d->addDriver($c, 'DigitalPilot\\CmsBundle\\Document');
     $d->addDriver($c, 'UserBundle\\Document');
     $d->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\XmlDriver(new \Doctrine\Common\Persistence\Mapping\Driver\SymfonyFileLocator(array($this->targetDirs[3] . '\\vendor\\friendsofsymfony\\user-bundle\\Resources\\config\\doctrine-mapping' => 'FOS\\UserBundle\\Model'), '.mongodb.xml')), 'FOS\\UserBundle\\Model');
     $e = new \Doctrine\Bundle\MongoDBBundle\Logger\Logger($this->get('monolog.logger.doctrine', ContainerInterface::NULL_ON_INVALID_REFERENCE));
     $e->setBatchInsertThreshold(4);
     $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration();
     $instance->setDocumentNamespaces(array('CmsBundle' => 'DigitalPilot\\CmsBundle\\Document', 'UserBundle' => 'UserBundle\\Document'));
     $instance->setMetadataCacheImpl($b);
     $instance->setMetadataDriverImpl($d);
     $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies');
     $instance->setProxyNamespace('MongoDBODMProxies');
     $instance->setAutoGenerateProxyClasses(false);
     $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators');
     $instance->setHydratorNamespace('Hydrators');
     $instance->setAutoGenerateHydratorClasses(false);
     $instance->setDefaultDB('test_database');
     $instance->setDefaultCommitOptions(array());
     $instance->setRetryConnect(0);
     $instance->setRetryQuery(0);
     $instance->setLoggerCallable(array(0 => new \Doctrine\Bundle\MongoDBBundle\Logger\AggregateLogger(array(0 => $e, 1 => $this->get('doctrine_mongodb.odm.data_collector.pretty'))), 1 => 'logQuery'));
     return $instance;
 }
 protected function getDoctrineMongodb_Odm_DefaultConfigurationService()
 {
     $a = new \Doctrine\Common\Cache\ArrayCache();
     $a->setNamespace('sf2mongodb_default_59c9f89d66845be614334ace04577548242c89027a0af75abedc55d044b107e1');
     $b = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain();
     $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($this->get('annotation_reader'), array(0 => $this->targetDirs[3] . '/src/Acme/PersonBundle/Document')), 'Acme\\PersonBundle\\Document');
     $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration();
     $instance->setDocumentNamespaces(array('PersonBundle' => 'Acme\\PersonBundle\\Document'));
     $instance->setMetadataCacheImpl($a);
     $instance->setMetadataDriverImpl($b);
     $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies');
     $instance->setProxyNamespace('MongoDBODMProxies');
     $instance->setAutoGenerateProxyClasses(false);
     $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators');
     $instance->setHydratorNamespace('Hydrators');
     $instance->setAutoGenerateHydratorClasses(false);
     $instance->setDefaultDB('person');
     $instance->setDefaultCommitOptions(array());
     $instance->setRetryConnect(0);
     $instance->setRetryQuery(0);
     $instance->setDefaultRepositoryClassName('Doctrine\\ODM\\MongoDB\\DocumentRepository');
     return $instance;
 }
 /**
  * Gets the 'doctrine_mongodb.odm.default_configuration' service.
  *
  * This service is shared.
  * This method always returns the same instance of the service.
  *
  * @return \Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance.
  */
 protected function getDoctrineMongodb_Odm_DefaultConfigurationService()
 {
     $a = new \Doctrine\Common\Cache\ArrayCache();
     $a->setNamespace('sf2mongodb_default_d686cc03f64bc52b626c4ad0b517dccd226abf8936ed63a91a82c81c0865b3ac');
     $b = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain();
     $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($this->get('annotation_reader'), array(0 => $this->targetDirs[3] . '/src/MyApp/BlogBundle/Document')), 'MyApp\\BlogBundle\\Document');
     $c = new \Doctrine\Bundle\MongoDBBundle\Logger\Logger($this->get('monolog.logger.doctrine', ContainerInterface::NULL_ON_INVALID_REFERENCE));
     $c->setBatchInsertThreshold(4);
     $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration();
     $instance->setDocumentNamespaces(array('MyAppBlogBundle' => 'MyApp\\BlogBundle\\Document'));
     $instance->setMetadataCacheImpl($a);
     $instance->setMetadataDriverImpl($b);
     $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies');
     $instance->setProxyNamespace('MongoDBODMProxies');
     $instance->setAutoGenerateProxyClasses(false);
     $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators');
     $instance->setHydratorNamespace('Hydrators');
     $instance->setAutoGenerateHydratorClasses(false);
     $instance->setDefaultDB('symfony2');
     $instance->setDefaultCommitOptions(array());
     $instance->setRetryConnect(0);
     $instance->setRetryQuery(0);
     $instance->setDefaultRepositoryClassName('Doctrine\\ODM\\MongoDB\\DocumentRepository');
     $instance->setLoggerCallable(array(0 => new \Doctrine\Bundle\MongoDBBundle\Logger\AggregateLogger(array(0 => $c, 1 => $this->get('doctrine_mongodb.odm.data_collector.pretty'))), 1 => 'logQuery'));
     return $instance;
 }
 /**
  * Gets the 'doctrine.odm.mongodb.default_configuration' service.
  *
  * This service is shared.
  * This method always returns the same instance of the service.
  *
  * @return Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance.
  */
 protected function getDoctrine_Odm_Mongodb_DefaultConfigurationService()
 {
     $a = new \Symfony\Bundle\DoctrineMongoDBBundle\Mapping\Driver\XmlDriver(array(0 => '/Users/rfanjul/Public/api.quorra.com/vendor/bundles/FOS/UserBundle/Resources/config/doctrine'));
     $a->setNamespacePrefixes(array('/Users/rfanjul/Public/api.quorra.com/vendor/bundles/FOS/UserBundle/Resources/config/doctrine' => 'FOS\\UserBundle\\Document'));
     $a->setGlobalBasename('mapping');
     $b = new \Doctrine\ODM\MongoDB\Mapping\Driver\DriverChain();
     $b->addDriver($a, 'FOS\\UserBundle\\Document');
     $b->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($this->get('annotation_reader'), array(0 => '/Users/rfanjul/Public/api.quorra.com/src/Quorra/CoreBundle/Document')), 'Quorra\\CoreBundle\\Document');
     $this->services['doctrine.odm.mongodb.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration();
     $instance->setDocumentNamespaces(array('FOSUserBundle' => 'FOS\\UserBundle\\Document', 'QuorraCoreBundle' => 'Quorra\\CoreBundle\\Document'));
     $instance->setMetadataCacheImpl($this->get('doctrine.odm.mongodb.default_metadata_cache'));
     $instance->setMetadataDriverImpl($b);
     $instance->setProxyDir('/Users/rfanjul/Public/api.quorra.com/app/cache/dev/doctrine/odm/mongodb/Proxies');
     $instance->setProxyNamespace('Proxies');
     $instance->setAutoGenerateProxyClasses(false);
     $instance->setHydratorDir('/Users/rfanjul/Public/api.quorra.com/app/cache/dev/doctrine/odm/mongodb/Hydrators');
     $instance->setHydratorNamespace('Hydrators');
     $instance->setAutoGenerateHydratorClasses(true);
     $instance->setDefaultDB('Quorra');
     $instance->setLoggerCallable(array(0 => $this->get('doctrine.odm.mongodb.logger'), 1 => 'logQuery'));
     return $instance;
 }
Beispiel #16
0
 /**
  * Initialize ODM Configuration.
  *
  * @param array $config ODM DocumentManager configuration.
  * @return \Doctrine\ODM\MongoDB\Configuration
  */
 private function startODMConfiguration(array $config = array())
 {
     $configClass = $config['configurationClass'];
     $configuration = new $configClass();
     $configuration = new \Doctrine\ODM\MongoDB\Configuration();
     // Entity Namespaces configuration
     foreach ($config['documentNamespaces'] as $alias => $namespace) {
         $configuration->addDocumentNamespace($alias, $namespace);
     }
     // Proxy configuration
     $configuration->setAutoGenerateProxyClasses($config['proxy']['autoGenerateClasses'] === true || !in_array($config['proxy']['autoGenerateClasses'], array("0", "false", false)));
     $configuration->setProxyNamespace($config['proxy']['namespace']);
     $configuration->setProxyDir($config['proxy']['dir']);
     $configuration->setHydratorDir($config['hydrator']['dir']);
     $configuration->setHydratorNamespace($config['hydrator']['namespace']);
     // Cache configuration
     $configuration->setMetadataCacheImpl($this->getCacheInstance($config['metadataCache']));
     // Metadata configuration
     $configuration->setMetadataDriverImpl($this->startODMMetadata($config['metadataDrivers']));
     if (isset($config['defaultDb'])) {
         $configuration->setDefaultDB($config['defaultDb']);
     }
     if (isset($config['environment'])) {
         $configuration->setDefaultDB($config['environment']);
     }
     return $configuration;
 }
 /**
  * Gets the 'doctrine_mongodb.odm.default_configuration' service.
  *
  * This service is shared.
  * This method always returns the same instance of the service.
  *
  * @return \Doctrine\ODM\MongoDB\Configuration A Doctrine\ODM\MongoDB\Configuration instance.
  */
 protected function getDoctrineMongodb_Odm_DefaultConfigurationService()
 {
     $a = $this->get('annotation_reader');
     $b = new \Doctrine\Common\Cache\ArrayCache();
     $b->setNamespace('sf2mongodb_default_7bf2c5739740f682deedc09d0d3e7fcb32c5f04377022ebb01d66d08ca5a34e8');
     $c = new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($a, array(0 => $this->targetDirs[3] . '/src/MainBundle/Document', 1 => $this->targetDirs[3] . '/src/UsersBundle/Document', 2 => $this->targetDirs[3] . '/src/StoreBundle/Document'));
     $d = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain();
     $d->addDriver($c, 'MainBundle\\Document');
     $d->addDriver($c, 'UsersBundle\\Document');
     $d->addDriver($c, 'StoreBundle\\Document');
     $d->addDriver(new \Doctrine\ODM\MongoDB\Mapping\Driver\XmlDriver(new \Doctrine\Common\Persistence\Mapping\Driver\SymfonyFileLocator(array($this->targetDirs[3] . '/vendor/friendsofsymfony/user-bundle/Resources/config/doctrine-mapping' => 'FOS\\UserBundle\\Model'), '.mongodb.xml')), 'FOS\\UserBundle\\Model');
     $e = new \Doctrine\Bundle\MongoDBBundle\Logger\Logger($this->get('monolog.logger.doctrine', ContainerInterface::NULL_ON_INVALID_REFERENCE));
     $e->setBatchInsertThreshold(4);
     $this->services['doctrine_mongodb.odm.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration();
     $instance->setDocumentNamespaces(array('MainBundle' => 'MainBundle\\Document', 'UsersBundle' => 'UsersBundle\\Document', 'StoreBundle' => 'StoreBundle\\Document'));
     $instance->setMetadataCacheImpl($b);
     $instance->setMetadataDriverImpl($d);
     $instance->setProxyDir(__DIR__ . '/doctrine/odm/mongodb/Proxies');
     $instance->setProxyNamespace('MongoDBODMProxies');
     $instance->setAutoGenerateProxyClasses(false);
     $instance->setHydratorDir(__DIR__ . '/doctrine/odm/mongodb/Hydrators');
     $instance->setHydratorNamespace('Hydrators');
     $instance->setAutoGenerateHydratorClasses(false);
     $instance->setDefaultDB('test_database');
     $instance->setDefaultCommitOptions(array());
     $instance->setRetryConnect(0);
     $instance->setRetryQuery(0);
     $instance->setLoggerCallable(array(0 => new \Doctrine\Bundle\MongoDBBundle\Logger\AggregateLogger(array(0 => $e, 1 => $this->get('doctrine_mongodb.odm.data_collector.pretty'))), 1 => 'logQuery'));
     return $instance;
 }
 public function realDbNameFor($dbName)
 {
     return sprintf('%s%s%s', $this->_config->getPrefixDbName(), $dbName, $this->_config->getSuffixDbName());
 }
 protected function getDoctrine_Odm_Mongodb_DefaultConfigurationService()
 {
     $a = $this->get('annotation_reader');
     $b = new \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($a, array(0 => 'E:\\work\\Code\\Justsy Push-RESTService\\Trunk\\src\\Justsy\\MongoDocBundle\\Document', 1 => 'E:\\work\\Code\\Justsy Push-RESTService\\Trunk\\src\\WebIM\\ImChatBundle\\Document'));
     $c = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain();
     $c->addDriver($b, 'Justsy\\MongoDocBundle\\Document');
     $c->addDriver($b, 'WebIM\\ImChatBundle\\Document');
     $this->services['doctrine.odm.mongodb.default_configuration'] = $instance = new \Doctrine\ODM\MongoDB\Configuration();
     $instance->setDocumentNamespaces(array('JustsyMongoDocBundle' => 'Justsy\\MongoDocBundle\\Document', 'WebIMImChatBundle' => 'WebIM\\ImChatBundle\\Document'));
     $instance->setMetadataCacheImpl($this->get('doctrine.odm.mongodb.default_metadata_cache'));
     $instance->setMetadataDriverImpl($c);
     $instance->setProxyDir('E:/work/Code/Justsy Push-RESTService/Trunk/app/cache/prod/doctrine/odm/mongodb/Proxies');
     $instance->setProxyNamespace('Proxies');
     $instance->setAutoGenerateProxyClasses(false);
     $instance->setHydratorDir('E:/work/Code/Justsy Push-RESTService/Trunk/app/cache/prod/doctrine/odm/mongodb/Hydrators');
     $instance->setHydratorNamespace('Hydrators');
     $instance->setAutoGenerateHydratorClasses(false);
     $instance->setDefaultDB('we');
     $instance->setRetryConnect(0);
     $instance->setRetryQuery(0);
     return $instance;
 }