Exemplo n.º 1
0
 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);
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 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);
 }
Exemplo n.º 6
0
 /**
  * @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);
     }
 }
Exemplo n.º 7
0
 /**
  * @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';
     }
 }
Exemplo n.º 8
0
 /**
  * {@inheritdoc}
  */
 protected function getFqcnFromAlias($namespaceAlias, $simpleClassName)
 {
     return $this->dm->getConfiguration()->getDocumentNamespace($namespaceAlias) . '\\' . $simpleClassName;
 }
Exemplo n.º 9
0
 /**
  * @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();
 }