private void writeContent()

in src/main/java/org/apache/sling/servlets/post/impl/operations/ModifyOperation.java [349:379]


    private void writeContent(
            final ResourceResolver resolver,
            final Map<String, RequestProperty> reqProperties,
            final List<Modification> changes,
            final VersioningConfiguration versioningConfiguration)
            throws PersistenceException {

        final SlingPropertyValueHandler propHandler =
                new SlingPropertyValueHandler(dateParser, this.jcrSupport, changes);

        for (final RequestProperty prop : reqProperties.values()) {
            if (prop.hasValues()) {
                final Resource parent = deepGetOrCreateResource(
                        resolver, prop.getParentPath(), reqProperties, changes, versioningConfiguration);

                this.jcrSupport.checkoutIfNecessary(parent, changes, versioningConfiguration);

                // skip jcr special properties
                if (prop.getName().equals(JcrConstants.JCR_PRIMARYTYPE)
                        || prop.getName().equals(JcrConstants.JCR_MIXINTYPES)) {
                    continue;
                }

                if (prop.isFileUpload()) {
                    uploadHandler.setFile(parent, prop, changes);
                } else {
                    propHandler.setProperty(parent, prop);
                }
            }
        }
    }