You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Justin Edelson <ju...@justinedelson.com> on 2014/03/15 14:30:09 UTC
Re: svn commit: r1577529 - in /sling/trunk/contrib/extensions/mongodb:
pom.xml src/main/java/org/apache/sling/mongodb/impl/MongoDBCollectionResource.java
src/main/java/org/apache/sling/mongodb/impl/MongoDBResource.java
Hi,
On Fri, Mar 14, 2014 at 9:49 AM, <cz...@apache.org> 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);
>
>
Re: svn commit: r1577529 - in /sling/trunk/contrib/extensions/mongodb:
pom.xml src/main/java/org/apache/sling/mongodb/impl/MongoDBCollectionResource.java
src/main/java/org/apache/sling/mongodb/impl/MongoDBResource.java
Posted by Carsten Ziegeler <cz...@apache.org>.
Good catch, thanks - it's fixed now
2014-03-15 14:30 GMT+01:00 Justin Edelson <ju...@justinedelson.com>:
> Hi,
>
> On Fri, Mar 14, 2014 at 9:49 AM, <cz...@apache.org> 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
cziegeler@apache.org