[
https://issues.apache.org/jira/browse/TRINIDAD-1236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Blake Sullivan updated TRINIDAD-1236:
-------------------------------------
Status: Patch Available (was: Open)
> Trinidad should be able to state save non-Serializable Lists
> ------------------------------------------------------------
>
> Key: TRINIDAD-1236
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1236
> Project: MyFaces Trinidad
> Issue Type: Bug
> Components: Components
> Affects Versions: 1.0.9-core, 1.2.9-core
> Environment: Any environment in which the TreeState is Serialized and
> a non-Serializable List implementation (such as SubList) is used. For
> example, client state saving or High Availability environments.
> Reporter: Blake Sullivan
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> Trinidad supports state saving of component attributes by delegating to the
> PropertyKey implementations. For non-CAP_STATE_HOLDER, non CAP_LIST
> attributes, the PropertyKey assumes that simply returning the value is
> sufficient. If the value is Serializable, this is sufficient to support
> client-state saving and fail over. However, if the value is not-Serializable
> the Serialization process will fail when it is attempt. In particular, a
> problem can occur with List.class (as opposed to CAP_LIST) PropertyKeys with
> a non-Serializable implementation. While most common List implementations
> are Serializable, the implementations that AbstractList uses to implement
> sublist() are not.
> The proposal is to change the default PropertyKey saveValue()/restoreValue()
> implementations to always use StateUtils.saveList(context, value); for
> PropertyKey's of type List.class when the instance is not a ValueExpression.
> Note that this won't help the more general case where the PropertyKey is of
> type Object.class and a List instance is used for the property value
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.