Good catch, thanks - it's fixed now
2014-03-15 14:30 GMT+01:00 Justin Edelson <[email protected]>: > 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); > > > > > -- Carsten Ziegeler [email protected]
