Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package menu;
- import org.antlr.v4.runtime.misc.ParseCancellationException;
- import estructura.Indicador;
- import gramatica.GramaticaParser;
- import gramatica.Runner;
- import persistencia.Persistencia;
- public class CrearIndicadorWeb implements Persistencia {
- public static Indicador crearIndicador(String nombreIndicador, String expresionIndicador, String usuario){
- GramaticaParser parser = Runner.lecturaExpresion(nombreIndicador, expresionIndicador);
- // FIX ME: se rompe si lo cierro
- // scannerIndicador.close();
- try {
- parser.indicador();
- } catch (ParseCancellationException e) {
- // FIX ME: esta excepción funciona pero no evita el error de Antlr ante una mala expresión
- System.out.println("Excepción indicador");
- throw new RuntimeException(e.getCause());
- }
- Indicador nuevoIndicador = new Indicador(nombreIndicador, expresionIndicador,usuario);
- System.out.println("\nNombre del indicador: " + nuevoIndicador.getNombre());
- System.out.println("Expresión del indicador: " + nuevoIndicador.getExpresion());
- repositorio.indicadores().persistir(nuevoIndicador);
- return nuevoIndicador;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement