private void updateProperties()

in core/src/main/java/org/apache/sling/cms/core/internal/operations/BulkReplaceOperation.java [124:146]


    private void updateProperties(Resource resource, Pattern updateProperties, Pattern rfind, String find,
            String replace, PostResponse response, List<Modification> changes) {
        ModifiableValueMap properties = resource.adaptTo(ModifiableValueMap.class);
        boolean updated = false;

        if (properties == null) {
            throw new SlingException("Failed to retrieve modifiable value map, cannot update properties", null);
        }

        for (Entry<String, Object> entry : properties.entrySet()) {

            if (updateProperties.matcher(entry.getKey()).matches()) {
                updated = updateProperty(resource, rfind, find, replace, properties, updated, entry);
            }
        }
        if (updated) {
            response.onModified(resource.getPath());
            changes.add(Modification.onModified(resource.getPath()));
        }
        for (Resource child : resource.getChildren()) {
            updateProperties(child, updateProperties, rfind, find, replace, response, changes);
        }
    }