/**
  *
  * @param \Sds\DoctrineExtensions\Generator\GenerateEventArgs $eventArgs
  */
 public function generatorDojoJsonRest(GenerateEventArgs $eventArgs)
 {
     $options = $eventArgs->getOptions();
     $resource = $eventArgs->getResource();
     $metadata = $eventArgs->getDocumentManager()->getClassMetadata($eventArgs->getClassName());
     $defaultMixins = $this->getDefaultMixins();
     $templateArgs = [];
     $params = [];
     if (isset($options['mixins'])) {
         $templateArgs['dependencyMids'] = $options['mixins'];
     } else {
         $templateArgs['dependencyMids'] = $defaultMixins['store']['jsonRest'];
     }
     $templateArgs['mixins'] = $this->namesFromMids($templateArgs['dependencyMids']);
     $templateArgs['dependencies'] = $this->namesFromMids($templateArgs['dependencyMids']);
     $modelMid = Model::getMid($metadata->name);
     $pieces = explode('/', $modelMid);
     $model = $pieces[count($pieces) - 1];
     $templateArgs['dependencyMids'][] = $modelMid;
     $templateArgs['dependencies'][] = $model;
     $params['name'] = $metadata->collection;
     $params['idField'] = $metadata->identifier;
     if (isset($metadata->rest)) {
         $params['target'] = $metadata->rest['endpoint'];
     } else {
         $params['target'] = $metadata->collection;
     }
     $params['model'] = new Expr($model);
     $templateArgs['dependencyMids'] = ',' . $this->indent($this->implodeMids($templateArgs['dependencyMids']));
     $templateArgs['dependencies'] = ',' . $this->indent($this->implodeNames($templateArgs['dependencies']));
     $templateArgs['mixins'] = $this->indent($this->implodeNames($templateArgs['mixins']), 12) . $this->indent("\n", 8);
     $templateArgs['params'] = $this->implodeParams($params);
     $templateArgs['comment'] = $this->indent("// Will return create a dojo JsonRest store for {$metadata->name}");
     $resource->content = $this->populateTemplate(file_get_contents(__DIR__ . '/Template/Module.js.template'), $templateArgs);
     $this->persistToFile($this->getFilePath($metadata->name), $resource->content);
 }