Skip to content

Instantly share code, notes, and snippets.

@sidneydemoraes
sidneydemoraes / CnaeRepository.groovy
Created April 27, 2017 20:47
TechTalk - Gradle + Spring Boot + Groovy - Repository com Simple Query
import br.com.smc.meurumo.domain.comercio.entity.Cnae
import org.springframework.data.repository.Repository
/**
* Repositório de {@link Cnae}.
*/
interface CnaeRepository extends Repository<Cnae, Integer> {
/**
* Busca um {@link Cnae} baseado em ID.
@sidneydemoraes
sidneydemoraes / TokenRepository.groovy
Created April 27, 2017 20:54
TechTalk - Gradle + Spring Boot + Groovy - Repository com CRUD
import br.com.smc.meurumo.domain.seguranca.entity.TokenResetDeSenha
import org.springframework.data.repository.CrudRepository
interface TokenRepository extends CrudRepository<TokenResetDeSenha, Long> {
TokenResetDeSenha findByHash(String hash)
}
@sidneydemoraes
sidneydemoraes / ConfigSeguranca.groovy
Created April 27, 2017 21:00
TechTalk - Gradle + Spring Boot + Groovy - Configuração Spring Security
import br.com.smc.meurumo.domain.seguranca.service.FacebookConnectionSignup
import br.com.smc.meurumo.domain.seguranca.service.FacebookSignInAdapter
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder
import org.springframework.security.config.annotation.web.builders.HttpSecurity
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
@sidneydemoraes
sidneydemoraes / ProvedorAutenticacao.groovy
Created April 27, 2017 21:01
TechTalk - Gradle + Spring Boot + Groovy - Autenticador Spring Security
import br.com.smc.meurumo.domain.seguranca.repository.UsuarioRepository
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.security.authentication.AuthenticationProvider
import org.springframework.security.authentication.BadCredentialsException
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken
import org.springframework.security.core.Authentication
import org.springframework.security.core.AuthenticationException
import org.springframework.security.core.authority.SimpleGrantedAuthority
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
@sidneydemoraes
sidneydemoraes / ConfigWebMvc.groovy
Created April 27, 2017 21:02
TechTalk - Gradle + Spring Boot + Groovy - Spring Security - Criptografia de Senha
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
@Configuration
class ConfigWebMvc extends WebMvcConfigurerAdapter {
@Bean
BCryptPasswordEncoder passwordEncoder() {
@sidneydemoraes
sidneydemoraes / AutenticacaoController.groovy
Created April 27, 2017 21:05
TechTalk - Gradle + Spring Boot + Groovy - Spring Security - Controller
import br.com.smc.meurumo.domain.mailing.service.Mailer
import br.com.smc.meurumo.domain.seguranca.dto.*
import br.com.smc.meurumo.domain.seguranca.entity.Usuario
import br.com.smc.meurumo.domain.seguranca.service.CadastradorPorFormulario
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
import org.springframework.stereotype.Controller
import org.springframework.ui.Model
@sidneydemoraes
sidneydemoraes / AcessarPropriedades.groovy
Created April 27, 2017 21:18
TechTalk - Gradle + Spring Boot + Groovy - Acesso aos Dados com Groovy
private InsumosDeAnalise obterInsumos(Busca busca) {
final def coordenada = new Coordenada(busca.latitude, busca.longitude)
final def setoresCensitariosSelecionados = geografo.obterSetoresDentroDoRaio(coordenada, config.raioEmKm)
final def cnaesSelecionados = comercial.obterAtividadesComerciais(busca.atividadeId)
...
}
@sidneydemoraes
sidneydemoraes / ElvisOperator.groovy
Created April 27, 2017 21:20
TechTalk - Gradle + Spring Boot + Groovy - Elvis Operator Groovy
def destinario = config.nossoEmail ?: "[email protected]"
@sidneydemoraes
sidneydemoraes / ForEach.groovy
Created April 27, 2017 21:22
TechTalk - Gradle + Spring Boot + Groovy - ForEach Groovy
bindResult.fieldErrors.each { erro ->
erros.push("${erro.getField()}: ${erro.defaultMessage}")
}
@sidneydemoraes
sidneydemoraes / ConstrutorDinamico.groovy
Created April 27, 2017 21:25
TechTalk - Gradle + Spring Boot + Groovy - Construtor Dinâmico Groovy
def novoUsuario = new Usuario(
email: form.email,
nome: form.nome,
senha: protetor.encode(form.senha),
provedor: Provedor.FORM.name(),
ativo: true,
cadastro: new Date()
)