If you do not pass a configuration object, a blank one will be created for you.
부터:
1.0
/** * * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator * @return object */ public function createService(ServiceLocatorInterface $serviceLocator) { $manifest = $serviceLocator->get('manifest'); $config = new Configuration(); $config->setProxyDir(__DIR__ . '/../../../../Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/../../../../Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB(self::DEFAULT_DB); $config->setMetadataCacheImpl(new ArrayCache()); //create driver chain $chain = new MappingDriverChain(); foreach ($manifest['documents'] as $namespace => $path) { $driver = new AnnotationDriver(new AnnotationReader(), $path); $chain->addDriver($driver, $namespace); } $config->setMetadataDriverImpl($chain); //register filters foreach ($manifest['filters'] as $name => $class) { $config->addFilter($name, $class); } //create event manager $eventManager = new EventManager(); foreach ($manifest['subscribers'] as $subscriber) { $eventManager->addEventSubscriber($serviceLocator->get($subscriber)); } //register annotations AnnotationRegistry::registerLoader(function ($className) { return class_exists($className); }); $conn = new Connection(null, array(), $config); return DocumentManager::create($conn, $config, $eventManager); }
public function setUp() { $config = new Configuration(); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Proxies'); $reader = new AnnotationReader(); $reader->setDefaultAnnotationNamespace('Doctrine\\ODM\\MongoDB\\Mapping\\'); $config->setMetadataDriverImpl(new AnnotationDriver($reader, __DIR__ . '/Documents')); $this->dm = DocumentManager::create(new Mongo(), $config); $currencies = array('USD' => 1, 'EURO' => 1.7, 'JPN' => 0.0125); foreach ($currencies as $name => &$multiplier) { $multiplier = new Currency($name, $multiplier); $this->dm->persist($multiplier); } $product = new ConfigurableProduct('T-Shirt'); $product->addOption(new Option('small', new Money(12.99, $currencies['USD']), new StockItem('T-shirt Size S', new Money(9.99, $currencies['USD']), 15))); $product->addOption(new Option('medium', new Money(14.99, $currencies['USD']), new StockItem('T-shirt Size M', new Money(11.99, $currencies['USD']), 15))); $product->addOption(new Option('large', new Money(17.99, $currencies['USD']), new StockItem('T-shirt Size L', new Money(13.99, $currencies['USD']), 15))); $this->dm->persist($product); $this->dm->flush(); foreach ($currencies as $currency) { $this->dm->detach($currency); } $this->dm->detach($product); unset($currencies, $product); }
public function testDefaultPersistentCollectionGenerator() { $c = new Configuration(); $c->setPersistentCollectionDir(__DIR__ . '/../../../../PersistentCollections'); $c->setPersistentCollectionNamespace('PersistentCollections'); $generator = $c->getPersistentCollectionGenerator(); $this->assertInstanceOf(PersistentCollectionGenerator::class, $generator); $this->assertSame($generator, $c->getPersistentCollectionGenerator()); }
protected function getMockDocumentManager($driver) { $config = new Configuration(); $config->setMetadataDriverImpl($driver); $em = $this->createMock('Doctrine\\Common\\EventManager'); $dm = new DocumentManagerMock(); $dm->config = $config; $dm->eventManager = $em; return $dm; }
protected function getMockDocumentManager($driver) { $config = new Configuration(); $config->setMetadataDriverImpl($driver); $em = $this->getMockBuilder('Doctrine\\Common\\EventManager')->disableOriginalConstructor()->getMock(); $dm = new DocumentManagerMock(); $dm->config = $config; $dm->eventManager = $em; return $dm; }
/** * Enables a filter from the collection. * * @param string $name Name of the filter. * * @throws \InvalidArgumentException If the filter does not exist. * * @return \Doctrine\ODM\MongoDB\Query\Filter\BsonFilter The enabled filter. */ public function enable($name) { if (null === ($filterClass = $this->config->getFilterClassName($name))) { throw new \InvalidArgumentException("Filter '" . $name . "' does not exist."); } if (!isset($this->enabledFilters[$name])) { $this->enabledFilters[$name] = new $filterClass($this->dm); } return $this->enabledFilters[$name]; }
protected function getConfiguration() { $config = new Configuration(); $config->setProxyDir(__DIR__ . '/../../../../Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/../../../../Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB(DOCTRINE_MONGODB_DATABASE); $config->setMetadataDriverImpl($this->createMetadataDriverImpl()); $config->addFilter('testFilter', 'Doctrine\\ODM\\MongoDB\\Tests\\Query\\Filter\\Filter'); $config->addFilter('testFilter2', 'Doctrine\\ODM\\MongoDB\\Tests\\Query\\Filter\\Filter'); return $config; }
protected function getDocumentManager() { if (is_null($this->_documentManager)) { $options = $this->getOptions(); // ODM Class $classLoader = new ClassLoader('Doctrine\\ODM\\MongoDB', APPLICATION_PATH . '/../library'); $classLoader->register(); // Common Class $classLoader = new ClassLoader('Doctrine\\Common', APPLICATION_PATH . '/../library'); $classLoader->register(); // MongoDB Class $classLoader = new ClassLoader('Doctrine\\MongoDB', APPLICATION_PATH . '/../library'); $classLoader->register(); $classLoader = new ClassLoader('Documents', $options['documentPath']); $classLoader->register(); $config = new Configuration(); $config->setProxyDir($options['proxyDir']); $config->setProxyNamespace($options['proxyNamespace']); $config->setHydratorDir($options['hydratorDir']); $config->setHydratorNamespace($options['hydratorNamespace']); $reader = new AnnotationReader(); AnnotationDriver::registerAnnotationClasses(); $config->setMetadataDriverImpl(new AnnotationDriver($reader, $options['documentPath'])); $config->setDefaultDB($options['dbname']); $this->_documentManager = DocumentManager::create(new Connection($options['server']), $config); } return $this->_documentManager; }
/** * Register the service provider. * * @return void */ public function register() { $this->app->bind('odm.documentmanager', function ($app) { $conn = Config::get('laravel-odm::connection'); return DocumentManager::create(new Connection($conn['server'], $conn['options']), App::make('odm.config')); }); $this->app->bind('odm.config', function ($app) { $conn = Config::get('laravel-odm::connection'); $dir = Config::get('laravel-odm::dir'); $config = new Configuration(); $config->setProxyDir($dir['proxy']); $config->setProxyNamespace('Proxies'); $config->setHydratorDir($dir['hydrator']); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(App::make('odm.annotation')); $config->setDefaultDB($conn['options']['db']); return $config; }); $this->app->bind('odm.annotation', function ($app) { $dir = Config::get('laravel-odm::dir'); AnnotationDriver::registerAnnotationClasses(); $reader = new AnnotationReader(); return new AnnotationDriver($reader, $dir['document']); }); }
public function setUp() { $config = new Configuration(); $config->setProxyDir(__DIR__ . '/../../../../Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/../../../../Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB('doctrine_odm_tests'); /* $config->setLoggerCallable(function(array $log) { print_r($log); }); $config->setMetadataCacheImpl(new ApcCache()); */ $reader = new AnnotationReader(); $reader->setDefaultAnnotationNamespace('Doctrine\ODM\MongoDB\Mapping\\'); $this->annotationDriver = new AnnotationDriver($reader, __DIR__ . '/../../../../Documents'); $config->setMetadataDriverImpl($this->annotationDriver); $conn = new Connection(null, array(), $config); $this->dm = DocumentManager::create($conn, $config); $this->uow = $this->dm->getUnitOfWork(); }
/** * Called on framework init. */ public function register() { // Note: If you'd like to use annotation, XML or YAML mappings, simply bind another // implementation of this interface in your project and we'll use it! :) $this->app->singleton('Doctrine\\Common\\Persistence\\Mapping\\Driver\\MappingDriver', function (Application $app) { return new ConfigMapping(config('mongodb.mappings')); }); $this->app->singleton('Doctrine\\MongoDB\\Configuration', function (Application $app) { $config = new Configuration(); $config->setProxyDir(storage_path('cache/MongoDbProxies')); $config->setProxyNamespace('MongoDbProxy'); $config->setHydratorDir(storage_path('cache/MongoDbHydrators')); $config->setHydratorNamespace('MongoDbHydrator'); $config->setDefaultDB(config('mongodb.default_db', 'laravel')); // Request whatever mapping driver is bound to the interface. $config->setMetadataDriverImpl($app->make('Doctrine\\Common\\Persistence\\Mapping\\Driver\\MappingDriver')); return $config; }); $this->app->singleton('MongoClient', function (Application $app) { return new MongoClient(config('mongodb.host', 'localhost')); }); $this->app->singleton('Doctrine\\MongoDB\\Connection', function (Application $app) { return new Connection($app->make('MongoClient')); }); // Because of our bindings above, this one's actually a cinch! $this->app->singleton('Doctrine\\ODM\\MongoDB\\DocumentManager', function (Application $app) { return DocumentManager::create($app->make('Doctrine\\MongoDB\\Connection'), $app->make('Doctrine\\MongoDB\\Configuration')); }); }
/** * Connect to MongoDb * @return DocumentManager */ public function _initDb() { $container = $this; $this['documentManager'] = $this->share(function () use($container) { $dbConfigs = $container['configs']['database']; try { if (empty($dbConfigs['user'])) { $connection_url = "mongodb://{$dbConfigs['host']}:{$dbConfigs['port']}/{$dbConfigs['name']}"; } else { $connection_url = "mongodb://{$dbConfigs['user']}:{$dbConfigs['passwd']}@{$dbConfigs['host']}:{$dbConfigs['port']}/{$dbConfigs['name']}"; } AnnotationDriver::registerAnnotationClasses(); $config = new Configuration(); $config->setProxyDir(BIN_PATH . '/src/Blueridge/Documents/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(BIN_PATH . '/src/Blueridge/Documents/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create(BIN_PATH . '/src/Blueridge/Documents')); $config->setDefaultDB($dbConfigs['name']); return DocumentManager::create(new Connection($connection_url), $config); } catch (Exception $e) { error_log($e->getMessage()); } }); }
protected function getTestDocumentManager($metadataDriver = null) { if ($metadataDriver === null) { $metadataDriver = new MetadataDriverMock(); } $mongoMock = new ConnectionMock(); $config = new \Doctrine\ODM\MongoDB\Configuration(); $config->setProxyDir(__DIR__ . '/../../Proxies'); $config->setProxyNamespace('Doctrine\\ODM\\MongoDB\\Tests\\Proxies'); $eventManager = new EventManager(); $mockDriver = new MetadataDriverMock(); $config->setMetadataDriverImpl($metadataDriver); return DocumentManagerMock::create($mongoMock, $config, $eventManager); }
/** * Set the association mappings of a metadata. * * @param ClassMetadataInfo $metadata * @param Configuration $configuration */ protected function setAssociationMappings(ClassMetadataInfo $metadata, Configuration $configuration) { $supportedClasses = $configuration->getMetadataDriverImpl()->getAllClassNames(); foreach (class_parents($metadata->getName()) as $parent) { if (in_array($parent, $supportedClasses)) { $parentMetadata = new MongoClassMetadata($parent); $configuration->getMetadataDriverImpl()->loadMetadataForClass($parent, $parentMetadata); foreach ($parentMetadata->associationMappings as $key => $value) { if ($this->hasRelation($value['association'])) { $metadata->associationMappings[$key] = $value; } } } } }
/** * @return EntityManager */ public static function createTestDocumentManager($paths = array()) { $config = new Configuration(); $config->setAutoGenerateProxyClasses(true); $config->setProxyDir(\sys_get_temp_dir()); $config->setHydratorDir(\sys_get_temp_dir()); $config->setProxyNamespace('GenemuFormBundleTests\\Doctrine'); $config->setHydratorNamespace('GenemuFormBundleTests\\Doctrine'); $config->setMetadataDriverImpl(new AnnotationDriver(new AnnotationReader(), $paths)); $config->setMetadataCacheImpl(new ArrayCache()); return DocumentManager::create(new Connection(), $config); }
public function setUp() { $config = new Configuration(); $config->setProxyDir(__DIR__ . '/../../../../../Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/../../../../../Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB('doctrine_odm_tests'); $reader = new AnnotationReader(); $reader->setDefaultAnnotationNamespace('Doctrine\\ODM\\MongoDB\\Mapping\\'); $config->setMetadataDriverImpl(new AnnotationDriver($reader, __DIR__ . '/Documents')); $this->dm = DocumentManager::create(new Connection(), $config); $currencies = array('USD' => 1, 'EURO' => 1.7, 'JPN' => 0.0125); foreach ($currencies as $name => &$multiplier) { $multiplier = new Currency($name, $multiplier); $this->dm->persist($multiplier); } $stockItems = array(new StockItem('stock_item_0', new Money(9.99 * 0 + 5, $currencies['USD']), 5), new StockItem('stock_item_1', new Money(9.99 * 1 + 5, $currencies['USD']), 15 * 1 - 4), new StockItem('stock_item_2', new Money(9.99 * 2 + 5, $currencies['USD']), 15 * 2 - 4), new StockItem('stock_item_3', new Money(9.99 * 3 + 5, $currencies['USD']), 15 * 3 - 4), new StockItem('stock_item_4', new Money(9.99 * 4 + 5, $currencies['USD']), 15 * 4 - 4), new StockItem('stock_item_5', new Money(9.99 * 5 + 5, $currencies['USD']), 15 * 5 - 4), new StockItem('stock_item_6', new Money(9.99 * 6 + 5, $currencies['USD']), 15 * 6 - 4), new StockItem('stock_item_7', new Money(9.99 * 7 + 5, $currencies['USD']), 15 * 7 - 4), new StockItem('stock_item_8', new Money(9.99 * 8 + 5, $currencies['USD']), 15 * 8 - 4), new StockItem('stock_item_9', new Money(9.99 * 9 + 5, $currencies['USD']), 15 * 9 - 4)); $options = array(new Option('option_0', new Money(13.99, $currencies['USD']), $stockItems[0]), new Option('option_1', new Money(14.99, $currencies['USD']), $stockItems[1]), new Option('option_2', new Money(15.99, $currencies['USD']), $stockItems[2]), new Option('option_3', new Money(16.99, $currencies['USD']), $stockItems[3]), new Option('option_4', new Money(17.99, $currencies['USD']), $stockItems[4]), new Option('option_5', new Money(18.99, $currencies['USD']), $stockItems[5]), new Option('option_6', new Money(19.99, $currencies['USD']), $stockItems[6]), new Option('option_7', new Money(20.99, $currencies['USD']), $stockItems[7]), new Option('option_8', new Money(21.99, $currencies['USD']), $stockItems[8]), new Option('option_9', new Money(22.99, $currencies['USD']), $stockItems[9])); $products = array(new ConfigurableProduct('product_0'), new ConfigurableProduct('product_1'), new ConfigurableProduct('product_2'), new ConfigurableProduct('product_3'), new ConfigurableProduct('product_4'), new ConfigurableProduct('product_5'), new ConfigurableProduct('product_6'), new ConfigurableProduct('product_7'), new ConfigurableProduct('product_8'), new ConfigurableProduct('product_9')); $products[0]->addOption($options[0]); $products[0]->addOption($options[4]); $products[0]->addOption($options[6]); $products[1]->addOption($options[1]); $products[1]->addOption($options[2]); $products[1]->addOption($options[5]); $products[1]->addOption($options[7]); $products[1]->addOption($options[8]); $products[2]->addOption($options[3]); $products[2]->addOption($options[5]); $products[2]->addOption($options[7]); $products[2]->addOption($options[9]); $products[3]->addOption($options[0]); $products[3]->addOption($options[1]); $products[3]->addOption($options[2]); $products[3]->addOption($options[3]); $products[3]->addOption($options[4]); $products[3]->addOption($options[5]); $products[4]->addOption($options[4]); $products[4]->addOption($options[7]); $products[4]->addOption($options[2]); $products[4]->addOption($options[8]); $products[5]->addOption($options[9]); $products[6]->addOption($options[7]); $products[6]->addOption($options[8]); $products[6]->addOption($options[9]); $products[7]->addOption($options[4]); $products[7]->addOption($options[5]); $products[8]->addOption($options[2]); $products[9]->addOption($options[4]); $products[9]->addOption($options[3]); $products[9]->addOption($options[7]); foreach ($products as $product) { $this->dm->persist($product); } $this->dm->flush(); $this->dm->clear(); }
public function setUp() { $config = new Configuration(); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Proxies'); /* $config->setLoggerCallable(function(array $log) { print_r($log); }); $config->setMetadataCacheImpl(new ApcCache()); */ $reader = new AnnotationReader(); $reader->setDefaultAnnotationNamespace('Doctrine\\ODM\\MongoDB\\Mapping\\'); $config->setMetadataDriverImpl(new AnnotationDriver($reader, __DIR__ . '/Documents')); $this->dm = DocumentManager::create(new Mongo(), $config); }
public function loadDoctrineMongoDBConfiguration(Application $app) { $app['doctrine.odm.mongodb.configuration'] = $app->share(function () use($app) { $config = new Configuration(); if ($app['doctrine.odm.mongodb.metadata_cache'] == 'apc') { $cache = new ApcCache(); } else { $cache = new ArrayCache(); } $config->setMetadataCacheImpl($cache); if (isset($app['doctrine.odm.mongodb.connection_options']['database'])) { $config->setDefaultDB($app['doctrine.odm.mongodb.connection_options']['database']); } $chain = new DriverChain(); foreach ((array) $app['doctrine.odm.mongodb.documents'] as $document) { switch ($document['type']) { case 'annotation': $reader = new AnnotationReader(); $driver = new AnnotationDriver($reader, (array) $document['path']); $chain->addDriver($driver, $document['namespace']); break; case 'yml': $driver = new YamlDriver((array) $document['path']); $driver->setFileExtension('.yml'); $chain->addDriver($driver, $document['namespace']); break; case 'xml': $driver = new XmlDriver((array) $document['path'], $document['namespace']); $driver->setFileExtension('.xml'); $chain->addDriver($driver, $document['namespace']); break; default: throw new \InvalidArgumentException(sprintf('"%s" is not a recognized driver', $document['type'])); break; } } $config->setMetadataDriverImpl($chain); $config->setProxyDir($app['doctrine.odm.mongodb.proxies_dir']); $config->setProxyNamespace($app['doctrine.odm.mongodb.proxies_namespace']); $config->setAutoGenerateProxyClasses($app['doctrine.odm.mongodb.auto_generate_proxies']); $config->setHydratorDir($app['doctrine.odm.mongodb.hydrators_dir']); $config->setHydratorNamespace($app['doctrine.odm.mongodb.hydrators_namespace']); return $config; }); }
public function setUp() { $config = new Configuration(); $config->setProxyDir(__DIR__ . '/../../../../../Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/../../../../../Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setEnvironment('test'); $config->setDefaultDB($this->defaultDB); $reader = new AnnotationReader(); $reader->setDefaultAnnotationNamespace('Doctrine\\ODM\\MongoDB\\Mapping\\'); $config->setMetadataDriverImpl(new AnnotationDriver($reader, __DIR__ . '/Documents')); $this->dm = DocumentManager::create(new Connection(), $config); }
/** * @return EntityManager */ public static function createTestDocumentManager($paths = array()) { if (!class_exists('PDO') || !in_array('pgsql', \PDO::getAvailableDrivers())) { self::markTestSkipped('This test requires PgSQL support in your environment'); } $config = new Configuration(); $config->setAutoGenerateProxyClasses(true); $config->setProxyDir(\sys_get_temp_dir()); $config->setHydratorDir(\sys_get_temp_dir()); $config->setProxyNamespace('GenemuFormBundleTests\\Doctrine'); $config->setHydratorNamespace('GenemuFormBundleTests\\Doctrine'); $config->setMetadataDriverImpl(new AnnotationDriver(new AnnotationReader(), $paths)); $config->setMetadataCacheImpl(new ArrayCache()); return DocumentManager::create(new Connection(), $config); }
private function loadDoctrineMongoDBConfiguration(Application $app) { $app['doctrine.odm.mongodb.configuration'] = $app->share(function () use($app) { $config = new Configuration(); $config->setMetadataCacheImpl($app['doctrine.odm.mongodb.metadata_cache']); if (isset($app['doctrine.odm.mongodb.connection_options']['database'])) { $config->setDefaultDB($app['doctrine.odm.mongodb.connection_options']['database']); } $chain = new MappingDriverChain(); $usingAnnotations = false; foreach ((array) $app['doctrine.odm.mongodb.documents'] as $document) { switch ($document['type']) { case 'annotation': $driver = AnnotationDriver::create((array) $document['path']); $chain->addDriver($driver, $document['namespace']); $usingAnnotations = true; break; case 'yml': $driver = new YamlDriver((array) $document['path'], '.yml'); $chain->addDriver($driver, $document['namespace']); break; case 'xml': $driver = new XmlDriver((array) $document['path'], '.xml'); $chain->addDriver($driver, $document['namespace']); break; default: throw new \InvalidArgumentException(sprintf('"%s" is not a recognized driver', $document['type'])); break; } // add namespace alias if (isset($document['alias'])) { $config->addDocumentNamespace($document['alias'], $document['namespace']); } } if ($usingAnnotations) { AnnotationDriver::registerAnnotationClasses(); } $config->setMetadataDriverImpl($chain); $config->setProxyDir($app['doctrine.odm.mongodb.proxies_dir']); $config->setProxyNamespace($app['doctrine.odm.mongodb.proxies_namespace']); $config->setAutoGenerateProxyClasses($app['doctrine.odm.mongodb.auto_generate_proxies']); $config->setHydratorDir($app['doctrine.odm.mongodb.hydrators_dir']); $config->setHydratorNamespace($app['doctrine.odm.mongodb.hydrators_namespace']); $config->setAutoGenerateHydratorClasses($app['doctrine.odm.mongodb.auto_generate_hydrators']); $config->setLoggerCallable($app['doctrine.odm.mongodb.logger_callable']); return $config; }); }
public function setUp() { $config = new Configuration(); $config->setProxyDir(__DIR__ . '/../../../../../Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(__DIR__ . '/../../../../../Hydrators'); $config->setHydratorNamespace('Hydrators'); $reader = new AnnotationReader(); $config->setMetadataDriverImpl(new AnnotationDriver($reader, __DIR__ . '/Documents')); $config->setDefaultDB('testing'); $this->dm = DocumentManager::create(new Connection(), $config); }
public function __construct() { AnnotationDriver::registerAnnotationClasses(); $config = new Configuration(); $config->setProxyDir(app_path() . '/storage/cache/Doctrine/Proxies'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir(app_path() . '/storage/cache/Doctrine/Hydrators'); $config->setHydratorNamespace('Hydrators'); $config->setMetadataDriverImpl(AnnotationDriver::create(app_path() . '/app/Model/Entity')); $config->setDefaultDB(config('database.db_name')); parent::__construct(new Connection(\Config::get('database.host')), $config); }
/** * @param array $params * @return mixed */ public function produce(array $params = array()) { $configuration = new Configuration(); $configuration->setProxyDir($params['proxy_dir']); $configuration->setProxyNamespace($params['proxy_namespace']); $configuration->setHydratorDir($params['hydrator_dir']); $configuration->setHydratorNamespace($params['hydrator_namespace']); $configuration->setDefaultDB($params['default_db']); $configuration->setMetadataDriverImpl(AnnotationDriver::create($params['document_dir'])); AnnotationDriver::registerAnnotationClasses(); return $configuration; }
public function setUp() { $config = new 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/Sync/Mapping' => 'Vespolina\\Sync\\Entity'), '.mongodb.xml'); $xmlDriver = new XmlDriver($locatorXml); $config->setMetadataDriverImpl($xmlDriver); $config->setMetadataCacheImpl(new ArrayCache()); $config->setAutoGenerateProxyClasses(true); $doctrineODM = DocumentManager::create(null, $config); $this->gateway = new SyncDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Action\\Action'); parent::setUp(); }
public function __construct($cacheDir) { $config = new Configuration(); $config->setProxyDir($cacheDir); $config->setProxyNamespace('Proxies'); $config->setHydratorDir($cacheDir); $config->setHydratorNamespace('Hydrators'); $config->setDefaultDB(DB_NAME); $reader = new IndexedReader(new AnnotationReader()); $config->setMetadataDriverImpl(new AnnotationDriver($reader, __DIR__ . '/../../Models')); $connection = new \Doctrine\MongoDB\Connection(DoctrineNativeConnect::GetInstance()->mongo, array(), $config); $this->Doctrinemodel = DocumentManager::create($connection, $config); }
/** * @return DocumentManager */ private function connect() { $config = new Configuration(); $config->setProxyDir($this->app['cache']['doctrine'] . '/mongodb/proxy'); $config->setProxyNamespace('Proxies'); $config->setHydratorDir($this->app['cache']['doctrine'] . '/mongodb/hydrators'); $config->setHydratorNamespace('Hydrators'); $anno = []; foreach ($this->config['modules'] as $app) { $dir = $this->app['BASE_DIR'] . $this->app['Modules'] . $app . '/Document'; if (file_exists($dir)) { $anno[] = $dir; } } $driverImpl = $config->newDefaultAnnotationDriver($anno); $config->setMetadataDriverImpl($driverImpl); $config->setDefaultDB($this->config['database']['name']); $config->setDefaultCommitOptions(array('safe' => true, 'fsync' => true)); return DocumentManager::create(new Connection($this->config['database']['host']), $config); }
public function setUp() { Type::hasType('object') ? Type::overrideType('object', 'Payum\\Bridge\\Doctrine\\Types\\ObjectType') : Type::addType('object', 'Payum\\Bridge\\Doctrine\\Types\\ObjectType'); $conf = new Configuration(); $conf->setProxyDir(\sys_get_temp_dir()); $conf->setProxyNamespace('PayumTestsProxies'); $conf->setHydratorDir(\sys_get_temp_dir()); $conf->setHydratorNamespace('PayumTestsHydrators'); $conf->setMetadataDriverImpl($this->getMetadataDriverImpl()); $conf->setMetadataCacheImpl(new ArrayCache()); $conf->setDefaultDB('payum_tests'); $conn = new Connection(null, array(), $conf); $this->dm = DocumentManager::create($conn, $conf); foreach ($this->dm->getConnection()->selectDatabase('payum_tests')->listCollections() as $collection) { $collection->drop(); } }
protected function setUp() { $config = new 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'), '.mongodb.xml'); $xmlDriver = new XmlDriver($locatorXml); $config->setMetadataDriverImpl($xmlDriver); $config->setMetadataCacheImpl(new ArrayCache()); $config->setAutoGenerateProxyClasses(true); $doctrineODM = DocumentManager::create(null, $config); $doctrineODM->getEventManager()->addEventSubscriber(new TreeListener()); $this->brandGateway = new BrandDoctrineMongoDBGateway($doctrineODM, 'Vespolina\\Entity\\Brand\\Brand'); 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]; }