[
https://issues.apache.org/jira/browse/SLING-1126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Carsten Ziegeler resolved SLING-1126.
-------------------------------------
Resolution: Fixed
In Revision: 819904 I'Ve added support for serializable objects to the jcr
backed value map implementation. It's now possible to do a put(String,
Serializable) and a get(String, Serializable or any sub class). Before this
change these operations failed (get returned null), now this works and
everything else is untouched.
Added junit tests
> Support serializable objects
> ----------------------------
>
> Key: SLING-1126
> URL: https://issues.apache.org/jira/browse/SLING-1126
> Project: Sling
> Issue Type: Improvement
> Components: JCR
> Affects Versions: JCR Resource 2.0.4
> Reporter: Carsten Ziegeler
> Assignee: Carsten Ziegeler
> Fix For: JCR Resource 2.0.6
>
>
> The JcrPropertyMap and JcrModifiablePropertyMap only support reading and
> writing the object types supported by JCR. It is currently not possible to
> store any serializable objects.
> Supporting the writing of serializable objects is easy, we just have to
> enhance the JcrModifiablePropertyMap to write the serialized object into the
> repository (through an ObjectOutputStream).
> Reading a serialized object is more tricky as the implementation does not
> know in advance, if the input stream contains a serialized object or some
> arbitrary data.
> The check for this is a little bit expensive as it would require to first try
> to read the data through an ObjectInputStream and if that success we have the
> serialized object. If this is not successful, a new input stream has to be
> used.
> As I think that this is a very valuable feature (for example the Sling
> eventing has a use case for this), we should do this special check only under
> certain circumstances, for example
> a) if ValueMap.get(KEY) is invoked and the property is an input stream
> or
> b) if ValueMap.get(KEY, Object.class) is used
> Any other ideas, suggestions?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.