public function generate($schemaFilePath, $name, $namespace, $directory)
{
$context = $this->createContext($schemaFilePath, $name, $namespace, $directory);
if (!file_exists($directory . DIRECTORY_SEPARATOR . 'Model')) {
mkdir($directory . DIRECTORY_SEPARATOR . 'Model', 0755, true);
}
if (!file_exists($directory . DIRECTORY_SEPARATOR . 'Normalizer')) {
mkdir($directory . DIRECTORY_SEPARATOR . 'Normalizer', 0755, true);
}
$prettyPrinter = new Standard();
$modelFiles = $this->modelGenerator->generate($context->getRootReference(), $name, $context);
$normalizerFiles = $this->normalizerGenerator->generate($context->getRootReference(), $name, $context);
$generated = [];
foreach ($modelFiles as $file) {
$generated[] = $file->getFilename();
file_put_contents($file->getFilename(), $prettyPrinter->prettyPrintFile([$file->getNode()]));
}
foreach ($normalizerFiles as $file) {
$generated[] = $file->getFilename();
file_put_contents($file->getFilename(), $prettyPrinter->prettyPrintFile([$file->getNode()]));
}
$this->fix($directory);
return $generated;
}