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);
}
}
}
}