Hi, On Fri, Mar 14, 2014 at 9:49 AM, <[email protected]> wrote: > Author: cziegeler > Date: Fri Mar 14 13:49:01 2014 > New Revision: 1577529 > > URL: http://svn.apache.org/r1577529 > Log: > SLING-3451 : Support for deep reads from a value map > > Modified: > sling/trunk/contrib/extensions/mongodb/pom.xml > > sling/trunk/contrib/extensions/mongodb/src/main/java/org/apache/sling/mongodb/impl/MongoDBCollectionResource.java > > sling/trunk/contrib/extensions/mongodb/src/main/java/org/apache/sling/mongodb/impl/MongoDBResource.java >
> Modified: > sling/trunk/contrib/extensions/mongodb/src/main/java/org/apache/sling/mongodb/impl/MongoDBResource.java > URL: > http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/mongodb/src/main/java/org/apache/sling/mongodb/impl/MongoDBResource.java?rev=1577529&r1=1577528&r2=1577529&view=diff > ============================================================================== > --- > sling/trunk/contrib/extensions/mongodb/src/main/java/org/apache/sling/mongodb/impl/MongoDBResource.java > (original) > +++ > sling/trunk/contrib/extensions/mongodb/src/main/java/org/apache/sling/mongodb/impl/MongoDBResource.java > Fri Mar 14 13:49:01 2014 > @@ -23,6 +23,7 @@ import org.apache.sling.api.resource.Mod > import org.apache.sling.api.resource.ResourceMetadata; > import org.apache.sling.api.resource.ResourceResolver; > import org.apache.sling.api.resource.ValueMap; > +import org.apache.sling.api.wrappers.DeepReadValueMapDecorator; > > import com.mongodb.DBObject; > > @@ -118,10 +119,10 @@ public class MongoDBResource extends Abs > public <AdapterType> AdapterType adaptTo(final Class<AdapterType> type) { > if ( type == ValueMap.class || type == Map.class ) { > this.dbObject = > this.provider.getUpdatedDBObject(this.resourcePath, this.dbObject); > - return (AdapterType) new ReadableValueMap(this.dbObject); > + return (AdapterType) new DeepReadValueMapDecorator(this, new > ReadableValueMap(this.dbObject)); > } else if ( type == ModifiableValueMap.class ) { > this.dbObject = > this.provider.getUpdatedDBObject(this.resourcePath, this.dbObject); > - return (AdapterType) new ChangeableValueMap(this); > + return (AdapterType) new DeepReadValueMapDecorator(this, new > ChangeableValueMap(this)); This doesn't look right to me. ChangeableValueMap implements ModifiableValueMap, but DeepReadValueMapDecorator does not. Regards, Justin > } > > return super.adaptTo(type); > >
