Author: cziegeler
Date: Thu Apr 25 17:11:43 2013
New Revision: 1475856
URL: http://svn.apache.org/r1475856
Log:
SLING-2842 : Provide a way to get the ObjectInputStream for serialized java
objects
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java?rev=1475856&r1=1475855&r2=1475856&view=diff
==============================================================================
---
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java
(original)
+++
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java
Thu Apr 25 17:11:43 2013
@@ -260,7 +260,7 @@ public class JcrPropertyMap
final String name = prop.getName();
String key = null;
if ( name.indexOf("_x") != -1 ) {
- // for compatiblity with older versions we use the (wrong)
+ // for compatibility with older versions we use the (wrong)
// ISO9075 path encoding
key = ISO9075.decode(name);
if ( key.equals(name) ) {
@@ -352,7 +352,7 @@ public class JcrPropertyMap
}
try {
- // for compatiblity with older versions we use the (wrong) ISO9075
path
+ // for compatibility with older versions we use the (wrong)
ISO9075 path
// encoding
final String oldKey = ISO9075.encodePath(name);
if (node.hasProperty(oldKey)) {
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java?rev=1475856&r1=1475855&r2=1475856&view=diff
==============================================================================
---
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
(original)
+++
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
Thu Apr 25 17:11:43 2013
@@ -343,7 +343,7 @@ public final class JcrModifiableValueMap
}
try {
- // for compatiblity with older versions we use the (wrong) ISO9075
path
+ // for compatibility with older versions we use the (wrong)
ISO9075 path
// encoding
final String oldKey = ISO9075.encodePath(name);
if (node.hasProperty(oldKey)) {
@@ -521,6 +521,14 @@ public final class JcrModifiableValueMap
} else if (Property.class == type) {
return (T) entry.property;
+ } else if (ObjectInputStream.class == type) {
+ if ( jcrValue.getType() == PropertyType.BINARY ) {
+ try {
+ return (T) new
ObjectInputStream(jcrValue.getBinary().getStream(), this.dynamicClassLoader);
+ } catch (IOException ioe) {
+ // ignore and use fallback
+ }
+ }
} else if (Serializable.class.isAssignableFrom(type)
&& jcrValue.getType() == PropertyType.BINARY) {
ObjectInputStream ois = null;