/** * Add the widget value to evaluate to the Map of expression to evaluated * * @param formWidget the widget * @param expressionsToEvaluate the list of expressions to evaluate * @param context the context including the URL parameters */ protected void addFormWidgetValueExpressionToEvaluate( final FormWidget formWidget, final List<Expression> expressionsToEvaluate, final Map<String, Object> context) { if (formWidget.getInitialValueExpression() != null) { final Expression expression = formWidget.getInitialValueExpression(); expression.setName(formWidget.getId() + EXPRESSION_KEY_SEPARATOR + WIDGET_INITIAL_VALUE); expressionsToEvaluate.add(expression); } else if (WidgetType.EDITABLE_GRID.equals(formWidget.getType()) && formWidget.getInitialValueExpressionArray() != null) { final List<List<Expression>> expressionArray = formWidget.getInitialValueExpressionArray(); if (!expressionArray.isEmpty()) { int expressionArrayRowIndex = 0; for (final List<Expression> expressionArrayRow : expressionArray) { int expressionArrayIndex = 0; for (final Expression expression : expressionArrayRow) { expression.setName( formWidget.getId() + EXPRESSION_KEY_SEPARATOR + WIDGET_INITIAL_VALUE + expressionArrayRowIndex + INDEX_SEPARATOR + expressionArrayIndex); expressionsToEvaluate.add(expression); expressionArrayIndex++; } expressionArrayRowIndex++; } } } }
protected void storeWidgetInCacheAndSetCacheID( final FormCacheUtil formCacheUtil, final String formID, final String pageID, final String locale, final Date processDeployementDate, final FormWidget formWidget) { if (isExpressionDynamic(formWidget.getInitialValueExpression()) || isArrayOfExpressionsDynamic(formWidget.getInitialValueExpressionArray()) || isExpressionDynamic(formWidget.getAvailableValuesExpression()) || isListOfExpressionsDynamic(formWidget.getAvailableValues()) || isListOfListOfExpressionsDynamic(formWidget.getTableAvailableValues()) || isExpressionDynamic(formWidget.getDisplayConditionExpression())) { formWidget.setHasDynamicValue(true); } final String formWidgetCacheId = formCacheUtil.storeFormWidget(formID, pageID, locale, processDeployementDate, formWidget); formWidget.setFormWidgetCacheId(formWidgetCacheId); if (formWidget.getValidators() != null) { formWidget.setValidatorsCacheId( formCacheUtil.storeFieldValidators( formID, pageID, formWidget.getId(), locale, processDeployementDate, formWidget.getValidators())); } }