Exemplo n.º 1
0
 private function importResource(array $data, LoadingCriteriaInterface $loadingCriteria, DelegatingLoader $delegatingLoader, Configuration $configuration)
 {
     $defaultResourceDir = $configuration->getDefaultClassMetadataResourceDir();
     if (isset($data['imports']['resources'])) {
         foreach ($data['imports']['resources'] as $resourceSettings) {
             $otherResourcePath = null;
             if (isset($resourceSettings['path'])) {
                 $otherResourcePath = $resourceSettings['path'];
                 if ('.' === ($otherResourceDir = dirname($otherResourcePath))) {
                     $otherResourcePath = $defaultResourceDir . '/' . $otherResourcePath;
                 }
             }
             $otherResourceType = null;
             if (isset($resourceSettings['type'])) {
                 $otherResourceType = $resourceSettings['type'];
             }
             $otherResourceClass = null;
             if (isset($resourceSettings['class'])) {
                 $otherResourceClass = $resourceSettings['class'];
             }
             $otherResourceMethod = null;
             if (isset($resourceSettings['method'])) {
                 $otherResourceMethod = $resourceSettings['method'];
             }
             $loadingCriteria = LoadingCriteria::create($otherResourcePath, $otherResourceType, $otherResourceClass, $otherResourceMethod);
             $delegatedLoader = $delegatingLoader->getDelegatedLoader($loadingCriteria);
             $othersData = $delegatedLoader->getData($loadingCriteria, $configuration, $delegatingLoader);
             $data = array_merge_recursive($othersData, $data);
         }
     }
     return $data;
 }
Exemplo n.º 2
0
 /**
  * @param string $className
  * @return ClassMetadata\ClassMetadata
  */
 public function loadMetadata($className)
 {
     $fullClassName = $this->getMetadataClassName($className);
     $loadingCriteria = ClassMetadataLoader\LoadingCriteria::create('', '', $fullClassName, 'loadInnerYamlMetadata');
     $loader = new ClassMetadataLoader\InnerYamlLoader();
     $delegatingLoaderMock = $this->getMockBuilder('\\Kassko\\DataMapper\\ClassMetadataLoader\\DelegatingLoader')->disableOriginalConstructor()->getMock();
     return $loader->loadClassMetadata(new ClassMetadata\ClassMetadata($fullClassName), $loadingCriteria, new Configuration(), $delegatingLoaderMock);
 }
Exemplo n.º 3
0
 /**
  * @param string $className
  * @return ClassMetadata\ClassMetadata
  */
 public function loadMetadata($className)
 {
     $fullClassName = $this->getMetadataClassName($className);
     $classMetadata = new ClassMetadata\ClassMetadata($fullClassName);
     $loadingCriteria = ClassMetadataLoader\LoadingCriteria::create(sys_get_temp_dir(), '', $fullClassName, '');
     $loader = new ClassMetadataLoader\AnnotationLoader(new AnnotationReader());
     return $loader->loadClassMetadata($classMetadata, $loadingCriteria, new Configuration());
 }