public GenericInfoPanelItemProvider(NodeDao nodeDao, MeasurementsService measurementsService) { this.jinjava = withClassLoaderFix(Jinjava::new); this.nodeDao = Objects.requireNonNull(nodeDao); this.measurementsService = Objects.requireNonNull(measurementsService); this.jinjava.getGlobalContext().registerFunction(new ELFunctionDefinition("System", "currentTimeMillis", System.class, "currentTimeMillis")); }
/** * Creates a new interpreter instance using the global context and global config * * @return a new interpreter instance */ public JinjavaInterpreter newInterpreter() { return new JinjavaInterpreter(this, this.getGlobalContext(), this.getGlobalConfig()); }
public JinjavaEngine(JinjavaConfig jinjavaConfig, ResourceLocator resourceLocator) { jinjava = new Jinjava(jinjavaConfig); jinjava.setResourceLocator(resourceLocator); context = jinjava.getGlobalContext(); }
@Before public void setup() throws Exception { jinjava = new Jinjava(); jinjava.getGlobalContext().put("txt", Resources.toString(Resources.getResource("filter/urlize.txt"), StandardCharsets.UTF_8)); }
@Before public void setup() { jinjava = new Jinjava(); jinjava.getGlobalContext().put("numbers", Lists.newArrayList(1L, 2L, 3L, 4L, 5L)); }
@Test public void testOnlyArgs() { jinjava = new Jinjava(); Object[] expectedArgs = new Object[] {3L, 1L}; Map<String, Object> expectedKwargs = new HashMap<>(); jinjava.getGlobalContext().registerFilter(new MyMirrorFilter(expectedArgs, expectedKwargs)); assertThat(jinjava.render("{{ 'test'|mirror(3, 1) }}", new HashMap<>())).isEqualTo("test"); }
@Test public void itAllowsCamelCasedFilterNames() { jinjava = new Jinjava(); jinjava.getGlobalContext().registerFilter(new ReturnHelloFilter()); assertThat(jinjava.render("{{ 'test'|returnHello }}", new HashMap<>())).isEqualTo("Hello"); }
@Test public void itTestsNullKwargs() { jinjava = new Jinjava(); Object[] expectedArgs = new Object[] {}; Map<String, Object> expectedKwargs = new HashMap<String, Object>() {{ put("named1", null); }}; jinjava.getGlobalContext().registerFilter(new MyMirrorFilter(expectedArgs, expectedKwargs)); assertThat(jinjava.render("{{ 'test'|divide(named1) }}", new HashMap<>())).isEqualTo("test"); }
@Test public void testUnorderedArgsAndKwargs() { jinjava = new Jinjava(); Object[] expectedArgs = new Object[] {"1", 2L}; Map<String, Object> expectedKwargs = new HashMap<String, Object>() {{ put("named", "test"); }}; jinjava.getGlobalContext().registerFilter(new MyMirrorFilter(expectedArgs, expectedKwargs)); assertThat(jinjava.render("{{ 'test'|mirror('1', named='test', 2) }}", new HashMap<>())).isEqualTo("test"); }
@Test public void testMixedArgsAndKwargs() { jinjava = new Jinjava(); Object[] expectedArgs = new Object[] {1L, 2L}; Map<String, Object> expectedKwargs = new HashMap<String, Object>() {{ put("named", "test"); }}; jinjava.getGlobalContext().registerFilter(new MyMirrorFilter(expectedArgs, expectedKwargs)); assertThat(jinjava.render("{{ 'test'|mirror(1, 2, named='test') }}", new HashMap<>())).isEqualTo("test"); }
@Test public void itTestsNullKwargs() { jinjava = new Jinjava(); Object[] expectedArgs = new Object[] {}; Map<String, Object> expectedKwargs = new HashMap<String, Object>() {{ put("named1", null); }}; jinjava.getGlobalContext().registerFilter(new MyMirrorFilter(expectedArgs, expectedKwargs)); assertThat(jinjava.render("{{ 'test'|divide(named1) }}", new HashMap<>())).isEqualTo("test"); }
@Test public void testMixedArgsAndKwargs() { jinjava = new Jinjava(); Object[] expectedArgs = new Object[] {1L, 2L}; Map<String, Object> expectedKwargs = new HashMap<String, Object>() {{ put("named", "test"); }}; jinjava.getGlobalContext().registerFilter(new MyMirrorFilter(expectedArgs, expectedKwargs)); assertThat(jinjava.render("{{ 'test'|mirror(1, 2, named='test') }}", new HashMap<>())).isEqualTo("test"); }
@Test public void testRepeatedKwargs() { jinjava = new Jinjava(); Object[] expectedArgs = new Object[] {true}; Map<String, Object> expectedKwargs = new HashMap<String, Object>() {{ put("named", "overwrite"); }}; jinjava.getGlobalContext().registerFilter(new MyMirrorFilter(expectedArgs, expectedKwargs)); assertThat(jinjava.render("{{ 'test'|mirror(true, named='test', named='overwrite') }}", new HashMap<>())).isEqualTo("test"); }
@Before public void setup() { jinjava = new Jinjava(); jinjava.getGlobalContext().registerClasses(EscapeJsFilter.class); }
@Before public void setup() { jinjava = new Jinjava(); jinjava.getGlobalContext().registerClasses(EscapeJsonFilter.class); }
@Before public void setup() { jinjava = new Jinjava(); jinjava.getGlobalContext().registerClasses(EscapeJsFilter.class); }
@Before public void setup() { jinjava = new Jinjava(); jinjava.getGlobalContext().registerClasses(EscapeJsFilter.class); }
@Before public void setup() { jinjava = new Jinjava(); jinjava.getGlobalContext().registerClasses(EscapeJsFilter.class); }
@Before public void setup() { jinjava = new Jinjava(); jinjava.getGlobalContext().registerClasses(EscapeJsFilter.class); }
@Test public void itResetsGlobalContextAfterRender() { Jinjava jinjava = new Jinjava(); Context globalContext = jinjava.getGlobalContext(); RenderResult result = jinjava.renderForResult("{{ foo + 1 }}", ImmutableMap.of("foo", 1)); assertThat(result.getOutput()).isEqualTo("2"); assertThat(result.getContext().getResolvedExpressions()).containsOnly("foo + 1"); assertThat(result.getContext().getResolvedValues()).containsOnly("foo"); assertThat(globalContext.getResolvedExpressions()).isEmpty(); assertThat(globalContext.getResolvedValues()).isEmpty(); } }