private Map<String, Serializable> resolveDisplayExpressions( final List<FormWidget> widgets, final Map<String, Object> context, final FormServiceProvider formServiceProvider) throws FormNotFoundException, SessionTimeoutException, FileTooBigException, IOException, FormInitializationException { final Map<String, Serializable> resolvedExpressions = formServiceProvider.resolveExpressions(new DisplayExpressions(widgets).asList(), context); return resolvedExpressions != null ? resolvedExpressions : new HashMap<String, Serializable>(); }
/** * set the widget values of a form page * * @param tenantID the tenant ID * @param widgets the widgets of the page * @param context the context including the URL parameters * @throws FormServiceProviderNotFoundException * @throws FormNotFoundException * @throws SessionTimeoutException * @throws IOException * @throws FileTooBigException * @throws FormInitializationException */ public void setFormWidgetsValues( final long tenantID, final List<FormWidget> widgets, final Map<String, Object> context) throws FormNotFoundException, FormServiceProviderNotFoundException, SessionTimeoutException, IOException, FileTooBigException, FormInitializationException { final FormServiceProvider formServiceProvider = FormServiceProviderFactory.getFormServiceProvider(tenantID); final Map<String, Serializable> evaluatedDisplayExpressions = resolveDisplayExpressions(widgets, context, formServiceProvider); final Map<String, Serializable> evaluatedExpressions = formServiceProvider.resolveExpressions( getExpressionsToEvaluation(widgets, evaluatedDisplayExpressions, context), context); evaluatedExpressions.putAll(evaluatedDisplayExpressions); for (final FormWidget formWidget : widgets) { setFormWidgetValues(tenantID, formWidget, evaluatedExpressions, context); setTablesParams(formWidget, evaluatedExpressions, context); } }