public function testFindWithNamespace() { $config = $this->dm->getConfiguration(); $config->addDocumentNamespace('Foobar', 'Doctrine\\Tests\\ODM\\PHPCR\\Functional'); $user = $this->dm->find('Foobar:TypeUser', 'functional/user'); $this->assertNotNull($user); }
public function testGetAllMetadata() { $driver = new \Doctrine\Common\Persistence\Mapping\Driver\PHPDriver(array(__DIR__ . '/Model/php')); $this->dm->getConfiguration()->setMetadataDriverImpl($driver); $cmf = new ClassMetadataFactory($this->dm); $cm = new \Doctrine\ODM\PHPCR\Mapping\ClassMetadata('stdClass'); $cmf->setMetadataFor('stdClass', $cm); $metadata = $cmf->getAllMetadata(); $this->assertTrue(is_array($metadata)); }
/** * Create a new repository instance for a document class. * * @param DocumentManager $documentManager The DocumentManager instance. * @param string $documentName The name of the document. * * @return \Doctrine\Common\Persistence\ObjectRepository */ protected function createRepository(DocumentManager $documentManager, $documentName) { $metadata = $documentManager->getClassMetadata($documentName); $repositoryClassName = $metadata->customRepositoryClassName; if ($repositoryClassName === null) { $configuration = $documentManager->getConfiguration(); $repositoryClassName = $configuration->getDefaultRepositoryClassName(); } return new $repositoryClassName($documentManager, $metadata); }
public function testFromWithAlias() { $config = $this->dm->getConfiguration(); $config->addDocumentNamespace('Foobar', 'Doctrine\\Tests\\Models\\Blog'); $qb = $this->createQb(); $qb->from()->document('Foobar:User', 'a'); // add where to stop rouge documents that havn't been stored in /functional/ from appearing. $qb->where()->eq()->field('a.status')->literal('query_builder')->end(); $res = $qb->getQuery()->execute(); $this->assertCount(2, $res); }
public function testFindByUuid() { $generator = $this->dm->getConfiguration()->getUuidGenerator(); $user = $this->dm->find(null, $generator()); $this->assertNull($user); $newUser = new UserWithUuid(); $newUser->username = '******'; $newUser->id = '/functional/test'; $this->dm->persist($newUser); $this->dm->flush(); $this->dm->clear(); $foundUser = $this->dm->find(null, $newUser->uuid); $this->assertNotNull($foundUser); $this->assertEquals('test', $foundUser->username); $this->assertEquals('/functional/test', $foundUser->id); }
/** * @param NodeInterface[] $nodes */ public function prefetch(DocumentManager $dm, $nodes, $locale = null) { if (!count($nodes)) { return; } $uuids = array(); $paths = array(); $documentClassMapper = $dm->getConfiguration()->getDocumentClassMapper(); foreach ($nodes as $node) { $className = $documentClassMapper->getClassName($dm, $node); $class = $dm->getClassMetadata($className); if (!$locale && $class->translator) { $locale = $dm->getLocaleChooserStrategy()->getLocale(); } $uuids = array_merge($uuids, $this->collectPrefetchReferences($class, $node)); $paths = array_merge($paths, $this->collectPrefetchHierarchy($class, $node, $locale)); } if (count($uuids)) { $node->getSession()->getNodesByIdentifier($uuids); } if (count($paths)) { $node->getSession()->getNodes($paths); } }
/** * @param DocumentManager $dm */ public function __construct(DocumentManager $dm) { $this->dm = $dm; $this->session = $dm->getPhpcrSession(); $this->eventListenersInvoker = new ListenersInvoker($dm); $this->eventManager = $dm->getEventManager(); $config = $dm->getConfiguration(); $this->documentClassMapper = $config->getDocumentClassMapper(); $this->validateDocumentName = $config->getValidateDoctrineMetadata(); $this->writeMetadata = $config->getWriteDoctrineMetadata(); $this->uuidGenerator = $config->getUuidGenerator(); if ($this->session instanceof JackalopeSession) { $this->useFetchDepth = 'jackalope.fetch_depth'; } }
/** * {@inheritdoc} */ protected function getFqcnFromAlias($namespaceAlias, $simpleClassName) { return $this->dm->getConfiguration()->getDocumentNamespace($namespaceAlias) . '\\' . $simpleClassName; }
/** * @param DocumentManager $dm */ public function __construct(DocumentManager $dm) { $this->dm = $dm; $this->session = $dm->getPhpcrSession(); $this->evm = $dm->getEventManager(); $config = $dm->getConfiguration(); $this->documentClassMapper = $config->getDocumentClassMapper(); $this->validateDocumentName = $config->getValidateDoctrineMetadata(); $this->writeMetadata = $config->getWriteDoctrineMetadata(); }