protected function writeSerializerFile(OutputInterface $output, BundleMetadata $bundleMetadata, $template, $destFile, $name)
 {
     if (is_file($destFile)) {
         $output->writeln(sprintf('   ~ <info>%s</info>', $name));
     } else {
         $output->writeln(sprintf('   + <info>%s</info>', $name));
         $string = Mustache::replace($template, array('name' => $name, 'namespace' => $bundleMetadata->getExtendedNamespace(), 'root_name' => strtolower(preg_replace('/[A-Z]/', '_\\0', $name))));
         file_put_contents($destFile, $string);
     }
 }
 /**
  * @param OutputInterface $output
  * @param BundleMetadata  $bundleMetadata
  */
 protected function generateBundleFile(OutputInterface $output, BundleMetadata $bundleMetadata)
 {
     $file = sprintf('%s/Application%s.php', $bundleMetadata->getExtendedDirectory(), $bundleMetadata->getName());
     if (is_file($file)) {
         return;
     }
     $output->writeln(sprintf('  > generating bundle file <comment>%s</comment>', $file));
     $string = Mustache::replace($this->getBundleTemplate(), array('bundle' => $bundleMetadata->getName(), 'namespace' => $bundleMetadata->getExtendedNamespace()));
     file_put_contents($file, $string);
 }
Esempio n. 3
0
 public function __construct(BundleMetadata $bundleMetadata)
 {
     $this->mappingDocumentDirectory = sprintf('%s/Resources/config/doctrine/', $bundleMetadata->getBundle()->getPath());
     $this->extendedMappingDocumentDirectory = sprintf('%s/Resources/config/doctrine/', $bundleMetadata->getExtendedDirectory());
     $this->documentDirectory = sprintf('%s/Document', $bundleMetadata->getBundle()->getPath());
     $this->extendedDocumentDirectory = sprintf('%s/Document', $bundleMetadata->getExtendedDirectory());
     $this->extendedSerializerDirectory = sprintf('%s/Resources/config/serializer', $bundleMetadata->getExtendedDirectory());
 }
 /**
  * @param OutputInterface $output
  * @param BundleMetadata  $bundleMetadata
  */
 public function generateEntityRepositoryFiles(OutputInterface $output, BundleMetadata $bundleMetadata)
 {
     $output->writeln(' - Generating entity repository files');
     $names = $bundleMetadata->getOrmMetadata()->getEntityNames();
     foreach ($names as $name) {
         $dest_file = sprintf('%s/%sRepository.php', $bundleMetadata->getOrmMetadata()->getExtendedEntityDirectory(), $name);
         $src_file = sprintf('%s/Base%sRepository.php', $bundleMetadata->getOrmMetadata()->getEntityDirectory(), $name);
         if (!is_file($src_file)) {
             $output->writeln(sprintf('   ! <info>%sRepository</info>', $name));
             continue;
         }
         if (is_file($dest_file)) {
             $output->writeln(sprintf('   ~ <info>%sRepository</info>', $name));
         } else {
             $output->writeln(sprintf('   + <info>%sRepository</info>', $name));
             $string = Mustache::replace($this->getEntityRepositoryTemplate(), array('extended_namespace' => $bundleMetadata->getExtendedNamespace(), 'name' => $name, 'namespace' => $bundleMetadata->getNamespace()));
             file_put_contents($dest_file, $string);
         }
     }
 }
 /**
  * @param $bundleMetadata
  */
 public function setConfigFolders(BundleMetadata $bundleMetadata)
 {
     $this->mappingConfigDirectory = sprintf('%s/Resources/config', $bundleMetadata->getBundle()->getPath());
     $this->mappingSerializerDirectory = sprintf('%s/Resources/config/serializer', $bundleMetadata->getBundle()->getPath());
     $this->extendedConfigDirectory = sprintf('%s/Resources/config', $bundleMetadata->getExtendedDirectory());
     $this->extendedSerializerDirectory = sprintf('%s/Resources/config/serializer', $bundleMetadata->getExtendedDirectory());
 }
Esempio n. 6
0
 /**
  * Generates a bundle entities from a bundle name.
  *
  * @param string          $bundleName
  * @param array           $configuration
  * @param OutputInterface $output
  *
  * @return bool
  */
 protected function generate($bundleName, array $configuration, $output)
 {
     $processed = false;
     foreach ($this->getContainer()->get('kernel')->getBundles() as $bundle) {
         if ($bundle->getName() != $bundleName) {
             continue;
         }
         $processed = true;
         $bundleMetadata = new BundleMetadata($bundle, $configuration);
         // generate the bundle file
         if (!$bundleMetadata->isExtendable()) {
             $output->writeln(sprintf('Ignoring bundle : "<comment>%s</comment>"', $bundleMetadata->getClass()));
             continue;
         }
         // generate the bundle file
         if (!$bundleMetadata->isValid()) {
             $output->writeln(sprintf('%s : <comment>wrong folder structure</comment>', $bundleMetadata->getClass()));
             continue;
         }
         $output->writeln(sprintf('Processing bundle : "<info>%s</info>"', $bundleMetadata->getName()));
         $this->getContainer()->get('sonata.easy_extends.generator.bundle')->generate($output, $bundleMetadata);
         $output->writeln(sprintf('Processing Doctrine ORM : "<info>%s</info>"', $bundleMetadata->getName()));
         $this->getContainer()->get('sonata.easy_extends.generator.orm')->generate($output, $bundleMetadata);
         $output->writeln(sprintf('Processing Doctrine ODM : "<info>%s</info>"', $bundleMetadata->getName()));
         $this->getContainer()->get('sonata.easy_extends.generator.odm')->generate($output, $bundleMetadata);
         $output->writeln(sprintf('Processing Doctrine PHPCR : "<info>%s</info>"', $bundleMetadata->getName()));
         $this->getContainer()->get('sonata.easy_extends.generator.phpcr')->generate($output, $bundleMetadata);
         $output->writeln(sprintf('Processing Serializer config : "<info>%s</info>"', $bundleMetadata->getName()));
         $this->getContainer()->get('sonata.easy_extends.generator.serializer')->generate($output, $bundleMetadata);
         $output->writeln('');
     }
     return $processed;
 }
 public function testBundleName()
 {
     $bundle = new \Sonata\AcmeBundle\AcmeBundle();
     $bundleMetadata = new BundleMetadata($bundle, array('application_dir' => 'Application'));
     $this->assertFalse($bundleMetadata->isValid());
 }