public VariableResolverFactory createFactory() { VariableResolver[] resolvers = new VariableResolver[allVars.length]; for (int i = 0; i < resolvers.length; i++) { if (i >= cachedGlobalResolvers.length) { resolvers[i] = new SimpleValueResolver(null); } else { resolvers[i] = cachedGlobalResolvers[i]; } } return new IndexedVariableResolverFactory(allVars, resolvers); } }
public VariableResolverFactory createFactory() { VariableResolver[] resolvers = new VariableResolver[allVars.length]; for (int i = 0; i < resolvers.length; i++) { if (i >= cachedGlobalResolvers.length) { resolvers[i] = new SimpleValueResolver(null); } else { resolvers[i] = cachedGlobalResolvers[i]; } } return new IndexedVariableResolverFactory(allVars, resolvers); } }
public VariableResolverFactory createFactory(Object[] vals) { VariableResolver[] resolvers = new VariableResolver[allVars.length]; for (int i = 0; i < resolvers.length; i++) { if (i >= vals.length) { resolvers[i] = new SimpleValueResolver(null); } else { resolvers[i] = new IndexVariableResolver(i, vals); } } return new IndexedVariableResolverFactory(allVars, resolvers); } }
public VariableResolverFactory createFactory(Object[] vals) { VariableResolver[] resolvers = new VariableResolver[allVars.length]; for (int i = 0; i < resolvers.length; i++) { if (i >= vals.length) { resolvers[i] = new SimpleValueResolver(null); } else { resolvers[i] = new IndexVariableResolver(i, vals); } } return new IndexedVariableResolverFactory(allVars, resolvers); } }
public void testNullCollection() throws CompileException { boolean allowCompilerOverride = MVEL.COMPILER_OPT_ALLOW_OVERRIDE_ALL_PROPHANDLING; MVEL.COMPILER_OPT_ALLOW_OVERRIDE_ALL_PROPHANDLING = true; String[] names = { "missing" }; String[] values = { null }; try { MVEL.executeExpression( (CompiledExpression) MVEL.compileExpression("1; missing[3]"), new IndexedVariableResolverFactory(names, values) ); fail("Should throw a NullPointerExcption"); } catch (Exception e) { } finally { MVEL.COMPILER_OPT_ALLOW_OVERRIDE_ALL_PROPHANDLING = allowCompilerOverride; } }