Chamar messageSource.getMessage em contexto estático
15/03/2018 14:28
0
Prezados,

Estou utilizando tipos enumeráveis através de um serviço.

Preciso fazer a internacionalização destes tipos, porém sem sucesso. Estou recebendo erro de que a função não pode ser chamada num contexto estático. 

Quando utilizo as soluções de contorno para este problema, a mensagem é que o objeto está null.

A ideia é esta:

?class EnumService {

enum BI_Latencia implements MessageSourceResolvable {

REAL, DIARIA, SEMANAL, MENSAL

public Object[] getArguments() { [] as Object[] }

public String[] getCodes() {
["${getClass().name}.${name()}"] as String[]
}

public String getDefaultMessage() { name() }

}
.....................


Os arquivos do ii18n estão devidamente configurados com as traduções para os termos 
REAL, DIARIA, SEMANAL, MENSAL

Então preciso substituir
public String getDefaultMessage() { name() }
por public String getDefaultMessage() {messageSource.getMessage(name(), Locale.default) }

Mas não está funcionando.

Obrigado
Tags: Grails,ii18n,internacionalização,messageSource,getMessage,static,enum,service


Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto