Пример #1
0
  @Override
  public D save(D definition) {
    Assert.notNull(definition, "Definition may not be null");
    String name = definition.getName();
    String def = definition.getDefinition();
    validateBeforeSave(name, def);
    List<ModuleDescriptor> moduleDescriptors = parser.parse(name, def, definitionKind);

    // todo: the result of parse() should already have correct (polymorphic) definitions
    List<ModuleDefinition> moduleDefinitions = createModuleDefinitions(moduleDescriptors);
    if (!moduleDefinitions.isEmpty()) {
      definition.setModuleDefinitions(moduleDefinitions);
    }
    D savedDefinition = repository.save(definition);
    return afterSave(savedDefinition);
  }