quinta-feira, 4 de dezembro de 2014

Alterar caminho do ValidationMessages.properties no Hibernate Validator com VRaptor

Inclua a classe abaixo dentro do projeto:

Basta alterar a variável "MESSAGES", foi testado no VRaptor 3.5.3

https://gist.github.com/NatanCardoso/343f10b371229178e089 

Referências:
http://beanvalidation.org/1.0/spec/#table-messageinterpolation


import javax.annotation.PostConstruct;
import javax.validation.MessageInterpolator;
import javax.validation.Validation;
import javax.validation.ValidatorFactory;
 
import org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator;
import org.hibernate.validator.resourceloading.PlatformResourceBundleLocator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import br.com.caelum.vraptor.ioc.ApplicationScoped;
import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.validator.MessageInterpolatorFactory;
 
@ApplicationScoped
@Component
public class MessageInterpolatorFactoryHelper extends MessageInterpolatorFactory{
 
private static final String MESSAGES = "messages";
 
private static final Logger LOG = LoggerFactory.getLogger(MessageInterpolatorFactory.class);
 
private MessageInterpolator interpolator;
 
@Override
@PostConstruct
public void createInterpolator() {
interpolator = getValidatorFactory().getMessageInterpolator();
LOG.debug("Initializing Bean Validator MessageInterpolator Helper");
}
 
public MessageInterpolator getInstance() {
return interpolator;
}
private ValidatorFactory getValidatorFactory() {
return Validation.byDefaultProvider()
.configure()
.messageInterpolator(new ResourceBundleMessageInterpolator(new PlatformResourceBundleLocator(MESSAGES)))
.buildValidatorFactory();
}
} 
 
 

quinta-feira, 16 de outubro de 2014

Alguns comandos básicos do Git

Gerar chave SSH:
Basta executar o seguinte comando em um terminal:
ssh-keygen -t rsa -C "seu_email@email.com"

Não é obrigatório escolher uma senha.

Será gerado duas chaves:
.ssh/id_rsa.pub (chave pública)
.ssh/id_rsa.ppk (chave privada)

A chave pública será usada para autenticar no repositório remoto.

Criar novo projeto do git:
git init

Para adicionar um branch remoto
git remote add origin git@172.19.0.11/nome_do_projeto.git

Deletar o branch local:
git push origin --delete <nome_do_branch> or git push origin :<nome_do_branch>

Renomear o branch local:
git branch -m <novoNome>

Exibir no bash o branch atual (Linux):

Incluir o comando abaixo no bash.rc

export PS1="\[\033[38m\]\u@\h:\[\033[32m\] \w \[\033[1;34m\]\`git \\
branch 2>/dev/null | grep \"^\*\" | \\
sed -r \"s/\*\ (.*)/ \(\1\)/\"\`\[\033[37m\]$\[\033[00m\] "

quarta-feira, 15 de outubro de 2014

Configurar local do arquivo de log log4j programaticamente

Para configurar o local do arquivo do log4j programaticamente basta incluir o seguinte atributo ${logfile.name} no arquivo de configuração:

# logfile is set to be a RollingFileAppender
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${logfile.name}
log4j.appender.logfile.MaxFileSize=10MB
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%-5p]%d{yyyyMMdd@HH\:mm\:ss,SSS}\:%c - %m%n

Este parametro pode ser setado de duas formas:

  • Via linha de comando passado para o programa Java:
"-Dlogfile.name=/home/usuario/log/aplicacao.log"

  • - Dentro da aplicação Java como parametro de sistemam (antes de invocar o log4j):
System.setProperty("logfile.name","/home/usuario/log/aplicacao.log");

terça-feira, 14 de outubro de 2014

Exibir parametros da Query SQL com Hibernate


É necessário habilitar o log para as seguintes categorias abaixo no arquivo de configuração do log4j:

    org.hibernate.SQL - Log all SQL DML statements as they are executed
    org.hibernate.type - Log all JDBC parameters

Exemplo de configuração para o log4j:

# logs the SQL statements
log4j.logger.org.hibernate.SQL=debug

# Logs the JDBC parameters passed to a query
log4j.logger.org.hibernate.type=trace

A primeira configuração é equivalente a hibernate.show_sql=true do Hibernate, a segunda exibe os parametros das querys.

quarta-feira, 8 de outubro de 2014

Selecionar o valor da Sequence Oracle

Em Oracle quando a aplicação precisa de números sequenciais, diferente do banco MySQL, em que os campos são do tipo auto_increment são criados sequences.

Estas são responsáveis em gerar os números sequencias.

  • Para obter o valor corrente da sequence:
select [nome_da_sequence].nextval from dual;

  • Para obter o próximo valor da sequence:
 select [nome_da_sequence].currval from DUAL;