Skip to content

Commit b50a7d0

Browse files
#56 - Updated Resource Wrapper to use CompositeValueMap over ValueMapDecorator
1 parent c7930f2 commit b50a7d0

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

bundle/src/main/java/com/adobe/acs/samples/resources/SampleResourceWrapper.java

+4-9
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@
2424
import org.apache.sling.api.resource.Resource;
2525
import org.apache.sling.api.resource.ResourceWrapper;
2626
import org.apache.sling.api.resource.ValueMap;
27-
import org.apache.sling.api.wrappers.ValueMapDecorator;
28-
29-
import java.util.HashMap;
30-
import java.util.Map;
27+
import org.apache.sling.api.wrappers.CompositeValueMap;
3128

3229

3330
public class SampleResourceWrapper extends ResourceWrapper {
@@ -39,11 +36,9 @@ public class SampleResourceWrapper extends ResourceWrapper {
3936
public SampleResourceWrapper(final Resource resource, final ValueMap overlayProperties) {
4037
super(resource);
4138

42-
final Map<String, Object> mergedProperties = new HashMap<String, Object>();
43-
mergedProperties.putAll(super.getValueMap());
44-
mergedProperties.putAll(overlayProperties);
45-
46-
this.properties = new ValueMapDecorator(mergedProperties);
39+
// The use of CompositeValueMap is used to address SLING-6420 which does not handle data type such as Date's well.
40+
// Set the overlayedProperties as the "property set" and the resoure's "real" valueMap as the defaults.
41+
this.properties = new CompositeValueMap(overlayProperties, super.getValueMap());
4742
}
4843

4944

0 commit comments

Comments
 (0)