Como executar uma fórmula de usuário em tempo de execução?
28/06/2018 20:14
0
Prezados,
Estou implementando um módulo de métricas e indicadores.
Um dos campos do domínio Métrica será um texto com a fórmula.
No momento não pretendo criar nenhuma "linguagem" específica para este fim e apenas  utilizar o próprio Grrovy / Java desde que volte algum tipo de dado predefinido...
Que método/função devo usar para que o aplicativo execute a fórmula do campo texto?

Exemplo:
    Métrica: Total de Clientes do sexo feminino:

   
Fórmula:   Cliente.countBySexo ('F') 


Ou algo mais complexo:

     Fórmula: 
  Integer tot
   tot = Cliente.countBySexo ('F')
   return tot


Obrigado
Tags: Grails,runtime,tempo de execução,closure,fórmula,usuário


0
Usa Transients

static transients = ['female']
def getFemale(){
?return Cliente.countBySexo('F')
}
29/06/2018 12:18


0
Olá William,
Obrigado pela resposta.
Mais o que quero fazer é ter, por exemplo, um form com um campo do tipo texto - campo denominado fórmula.
Esta fórmula o usuário decide na hora os seus detalhes.
Este campo tem uma série de comandos em Groovy/Gorm como na sua sugestão.
E o formulário também teria um botão denominado [Clacular]
Quando apertar o botão gostaria que os comandos fossem executados e o valor retornado.
Só preciso da orientação de como executar e capturar o valor... o processo de exibir não precisa ser explicado.
Obrigado!
29/06/2018 13:28


0
Pedro,

o que você quer na realidade é a criação de uma DSL, ou seja, você quer executar código Groovy de forma arbitrária. Eu tenho três vídeos no meu canal do YouTube te ensinando a fazer isto: http://www.youtube.com/kicolobo

Dà uma olhada neles.


0
Olá Kiko.
Obrigado por me salvar mais uma vez!
Os posts são muito interessantes mesmo. Se você puder me indicar quais são os que você se refere e que tratam de DSL dentre todos, agradeço muito!
08/07/2018 09:58



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