package br.gov.servicos.editor.conteudo; import br.gov.servicos.editor.frontend.Siorg; import br.gov.servicos.editor.git.RepositorioGit; import br.gov.servicos.editor.utils.EscritorDeArquivos; import br.gov.servicos.editor.utils.LeitorDeArquivos; import br.gov.servicos.editor.utils.ReformatadorXml; import com.github.slugify.Slugify; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; @Configuration @NoArgsConstructor @AllArgsConstructor public class ConteudoVersionadoFactory { @Autowired Slugify slugify; @Autowired RepositorioGit repositorio; @Autowired LeitorDeArquivos leitorDeArquivos; @Autowired EscritorDeArquivos escritorDeArquivos; @Autowired ReformatadorXml reformatadorXml; @Autowired Siorg siorg; @Bean // necessário para @Cacheable @Scope("prototype") public ConteudoVersionado pagina(String texto, TipoPagina tipo) { return new ConteudoVersionado( slugify.slugify(texto), tipo, repositorio, leitorDeArquivos, escritorDeArquivos, slugify, reformatadorXml, siorg ); } }