@Override public Expression parseExpression(final String expression, final Class returnType, FunctionMapper mapper) throws ELException { return createExpression(expression, returnType, mapper); }
private static ELContext createELContext(VariableResolver resolver, FunctionMapper functionMapper) { CompositeELResolver composite = new CompositeELResolver(); composite.add(EL.EL_RESOLVER); composite.add( new JbpmELResolver(resolver) ); return EL.createELContext(composite, decorateFunctionMapper(functionMapper)); }
@Create public void startup() throws Exception { log.debug( "Starting jBPM" ); ProcessState.setDefaultSubProcessResolver( new SeamSubProcessResolver() ); installProcessDefinitions(); installPageflowDefinitions(); //JbpmExpressionEvaluator.setVariableResolver( new SeamVariableResolver() ); //JbpmExpressionEvaluator.setFunctionMapper( new SeamFunctionMapper() ); JbpmExpressionEvaluator.setExpressionEvaluator( new SeamExpressionEvaluator() ); UserCodeInterceptorConfig.setUserCodeInterceptor( new SeamUserCodeInterceptor() ); }
@Override public Object evaluate(String expression, Class returnType, final VariableResolver resolver, FunctionMapper mapper) throws ELException { return createExpression(expression, returnType, mapper).evaluate(resolver); }