(TRINIDAD-2450)
ClassCastException @ UIXEditableValue.shouldValidateEmptyFields
fixed race condition
diff --git a/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXEditableValueTemplate.java b/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXEditableValueTemplate.java
index db1f207..20a9ee3 100644
--- a/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXEditableValueTemplate.java
+++ b/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXEditableValueTemplate.java
@@ -622,7 +622,17 @@
// application map from the ExternalContext.
if (param == null)
{
- param = (String) ec.getApplicationMap().get(UIInput.VALIDATE_EMPTY_FIELDS_PARAM_NAME);
+ Object value = ec.getApplicationMap().get(UIInput.VALIDATE_EMPTY_FIELDS_PARAM_NAME);
+ // an other thread could have changed the value
+ if (value instanceof Boolean)
+ {
+ shouldValidateEmptyFields = value;
+ return shouldValidateEmptyFields;
+ }
+ else
+ {
+ param = (String) value;
+ }
}
// null means the same as auto (see SPEC on page 11-5)