Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function getConfiguration(array $config, ContainerBuilder $container)
 {
     if (!class_exists($class = ClassUtils::getNamespace($this) . '\\Configuration')) {
         $class = ResourceConfiguration::class;
     }
     return new $class($this->bundle);
 }
Пример #2
0
 /**
  * @param Definition $resource
  *
  * @return CompilerPassInterface
  */
 private function getCompilerPass(Definition $resource)
 {
     $driver = $resource->getArgument(1);
     $path = $resource->getArgument(3);
     $format = $resource->getArgument(4);
     $model = $resource->getArgument(6);
     $class = $this->getCompilerPassClass($driver);
     $method = $this->getCompilerPassMethod($format);
     return $class::$method([$path => ClassUtils::getRealNamespace($model)], []);
 }
Пример #3
0
 /**
  * @param Definition $definition
  *
  * @return CompilerPassInterface|null
  */
 private function getCompilerPass(Definition $definition)
 {
     $driver = $this->getResourceDriver($definition);
     if ($driver === null) {
         return;
     }
     $class = $this->getCompilerPassClass($driver);
     $method = $this->getCompilerPassMethod($this->getResourceDriverMappingFormat($definition));
     $path = $this->getResourceDriverMappingPath($definition);
     $model = $this->getResourceModel($definition);
     return $class::$method([$path => ClassUtils::getRealNamespace($model)], []);
 }
 /**
  * @param LifecycleEventArgs $event
  */
 public function postLoad(LifecycleEventArgs $event)
 {
     $entity = $event->getEntity();
     if (!$entity instanceof TranslatableInterface) {
         return;
     }
     $localeContext = $this->getLocaleContext();
     $resource = $this->getResource(ClassUtils::getClass($entity));
     $translationFactory = $this->getTranslationFactory($resource->getRelation('translation')->getName());
     $entity->setLocales($localeContext->getLocales());
     $entity->setFallbackLocale($localeContext->getFallbackLocale());
     $entity->setTranslationFactory($translationFactory);
 }
 /**
  * @param LifecycleEventArgs $event
  */
 public function postLoad(LifecycleEventArgs $event)
 {
     $entity = $event->getEntity();
     if (!$entity instanceof TranslatableInterface) {
         return;
     }
     $localeContext = $this->getLocaleContext();
     $entity->setLocales($localeContext->getLocales());
     $entity->setFallbackLocale($localeContext->getFallbackLocale());
     $class = ClassUtils::getClass($entity);
     foreach ($this->getResourceRegistry() as $resource) {
         if ($resource->getModel() === $class) {
             $entity->setTranslationClass($resource->getTranslation()->getModel());
             break;
         }
     }
 }
Пример #6
0
 /**
  * @param FormEvent $event
  */
 public function manage(FormEvent $event)
 {
     if ($this->collection === null || !$event->getForm()->isValid()) {
         return;
     }
     $collection = $event->getData();
     if (!$collection instanceof Collection) {
         return;
     }
     foreach ($this->collection as $element) {
         if ($collection->contains($element)) {
             continue;
         }
         if (($resource = $this->resolveResource(ClassUtils::getClass($element))) !== null) {
             $this->managerRegistry[$resource->getName()]->remove($element);
         }
     }
 }
Пример #7
0
 /**
  * @param mixed[] $config
  *
  * @return string
  */
 protected function buildForm(array $config)
 {
     return isset($config['form']) ? $config['form'] : ClassUtils::getClass($this->filterFormRegistry[$this->buildType($config)]);
 }
Пример #8
0
 /**
  * @dataProvider namespaceProvider
  */
 public function testNamespace($object, $namespace)
 {
     $this->assertSame($namespace, ClassUtils::getNamespace($object));
 }