@Test public void testParseTrafos() throws Exception { Map<String, Function> trafos = FunctionFactory.parseTrafos(new ConfigThingy("Trafos", "TRAFOS (trafo \"abc\")"), "TRAFOS", funcLib, dialogLib, context); assertTrue(trafos.containsKey("trafo")); trafos = FunctionFactory.parseTrafos(new ConfigThingy("Trafos", "TRAFOS \"abc\""), "TRAFOS", funcLib, dialogLib, context); assertTrue(trafos.isEmpty()); }
public static Map<String, Function> parseTrafos(ConfigThingy trafoConf, String nodeName, FunctionLibrary funcLib, DialogLibrary dialogLib, Map<Object, Object> context) { Map<String, Function> trafos = new HashMap<>(); Iterator<ConfigThingy> suIter = trafoConf.query(nodeName, 1).iterator(); while (suIter.hasNext()) { ConfigThingy spaltenumsetzung = suIter.next(); for (ConfigThingy transConf : spaltenumsetzung) { String name = transConf.getName(); try { Function func = FunctionFactory.parseChildren(transConf, funcLib, dialogLib, context); if (func == null) throw new ConfigurationErrorException( L.m("Leere Funktionsdefinition ist nicht erlaubt. Verwenden Sie stattdessen den leeren String \"\"")); trafos.put(name, func); } catch (ConfigurationErrorException e) { LOGGER.error(L.m("Fehler beim Parsen der Spaltenumsetzungsfunktion für Ergebnisspalte \"%1\"", name), e); } } } return trafos; }
FunctionFactory { public static Map<String, Function> parseTrafos(ConfigThingy trafoConf, String nodeName, FunctionLibrary funcLib, DialogLibrary dialogLib, Map<Object, Object> context) { Map<String, Function> trafos = new HashMap<>(); Iterator<ConfigThingy> suIter = trafoConf.query(nodeName, 1).iterator(); while (suIter.hasNext()) { ConfigThingy spaltenumsetzung = suIter.next(); for (ConfigThingy transConf : spaltenumsetzung) { String name = transConf.getName(); try { Function func = FunctionFactory.parseChildren(transConf, funcLib, dialogLib, context); if (func == null) throw new ConfigurationErrorException( L.m("Leere Funktionsdefinition ist nicht erlaubt. Verwenden Sie stattdessen den leeren String \"\"")); trafos.put(name, func); } catch (ConfigurationErrorException e) { LOGGER.error(L.m("Fehler beim Parsen der Spaltenumsetzungsfunktion für Ergebnisspalte \"%1\"", name), e); } } } return trafos; } }
FunctionFactory { public static Map<String, Function> parseTrafos(ConfigThingy trafoConf, String nodeName, FunctionLibrary funcLib, DialogLibrary dialogLib, Map<Object, Object> context) { Map<String, Function> trafos = new HashMap<>(); Iterator<ConfigThingy> suIter = trafoConf.query(nodeName, 1).iterator(); while (suIter.hasNext()) { ConfigThingy spaltenumsetzung = suIter.next(); for (ConfigThingy transConf : spaltenumsetzung) { String name = transConf.getName(); try { Function func = FunctionFactory.parseChildren(transConf, funcLib, dialogLib, context); if (func == null) throw new ConfigurationErrorException( L.m("Leere Funktionsdefinition ist nicht erlaubt. Verwenden Sie stattdessen den leeren String \"\"")); trafos.put(name, func); } catch (ConfigurationErrorException e) { LOGGER.error(L.m("Fehler beim Parsen der Spaltenumsetzungsfunktion für Ergebnisspalte \"%1\"", name), e); } } } return trafos; } private  FunctionFactory(); }
FunctionFactory { public static Map<String, Function> parseTrafos(ConfigThingy trafoConf, String nodeName, FunctionLibrary funcLib, DialogLibrary dialogLib, Map<Object, Object> context) { Map<String, Function> trafos = new HashMap<>(); Iterator<ConfigThingy> suIter = trafoConf.query(nodeName, 1).iterator(); while (suIter.hasNext()) { ConfigThingy spaltenumsetzung = suIter.next(); for (ConfigThingy transConf : spaltenumsetzung) { String name = transConf.getName(); try { Function func = FunctionFactory.parseChildren(transConf, funcLib, dialogLib, context); if (func == null) throw new ConfigurationErrorException( L.m("Leere Funktionsdefinition ist nicht erlaubt. Verwenden Sie stattdessen den leeren String \"\"")); trafos.put(name, func); } catch (ConfigurationErrorException e) { LOGGER.error(L.m("Fehler beim Parsen der Spaltenumsetzungsfunktion für Ergebnisspalte \"%1\"", name), e); } } } return trafos; } private  FunctionFactory(); static Function alwaysTrueFunction(); static Function parseGrandchildren(ConfigThingy conf,
      FunctionLibrary funcLib, DialogLibrary dialogLib, Map<Object, Object> context); static Function parseChildren(ConfigThingy conf, FunctionLibrary funcLib,
      DialogLibrary dialogLib, Map<Object, Object> context); static Function parse(ConfigThingy conf, FunctionLibrary funcLib,
      DialogLibrary dialogLib, Map<Object, Object> context); static FunctionLibrary parseFunctions(ConfigThingy conf,
      DialogLibrary dialogLib, Map<Object, Object> context, FunctionLibrary baselib); static FunctionLibrary parseFunctions(FunctionLibrary funcs,
      ConfigThingy conf, String section, DialogLibrary dialogLib,
      Map<Object, Object> context); static Map<String, Function> parseTrafos(ConfigThingy trafoConf, String nodeName, FunctionLibrary funcLib, DialogLibrary dialogLib,
      Map<Object, Object> context); }
FunctionFactory { public static Map<String, Function> parseTrafos(ConfigThingy trafoConf, String nodeName, FunctionLibrary funcLib, DialogLibrary dialogLib, Map<Object, Object> context) { Map<String, Function> trafos = new HashMap<>(); Iterator<ConfigThingy> suIter = trafoConf.query(nodeName, 1).iterator(); while (suIter.hasNext()) { ConfigThingy spaltenumsetzung = suIter.next(); for (ConfigThingy transConf : spaltenumsetzung) { String name = transConf.getName(); try { Function func = FunctionFactory.parseChildren(transConf, funcLib, dialogLib, context); if (func == null) throw new ConfigurationErrorException( L.m("Leere Funktionsdefinition ist nicht erlaubt. Verwenden Sie stattdessen den leeren String \"\"")); trafos.put(name, func); } catch (ConfigurationErrorException e) { LOGGER.error(L.m("Fehler beim Parsen der Spaltenumsetzungsfunktion für Ergebnisspalte \"%1\"", name), e); } } } return trafos; } private  FunctionFactory(); static Function alwaysTrueFunction(); static Function parseGrandchildren(ConfigThingy conf,
      FunctionLibrary funcLib, DialogLibrary dialogLib, Map<Object, Object> context); static Function parseChildren(ConfigThingy conf, FunctionLibrary funcLib,
      DialogLibrary dialogLib, Map<Object, Object> context); static Function parse(ConfigThingy conf, FunctionLibrary funcLib,
      DialogLibrary dialogLib, Map<Object, Object> context); static FunctionLibrary parseFunctions(ConfigThingy conf,
      DialogLibrary dialogLib, Map<Object, Object> context, FunctionLibrary baselib); static FunctionLibrary parseFunctions(FunctionLibrary funcs,
      ConfigThingy conf, String section, DialogLibrary dialogLib,
      Map<Object, Object> context); static Map<String, Function> parseTrafos(ConfigThingy trafoConf, String nodeName, FunctionLibrary funcLib, DialogLibrary dialogLib,
      Map<Object, Object> context);  }