in src/main/java/org/apache/sling/pipes/internal/PipeBuilderImpl.java [379:395]
Resource createResource(ResourceResolver resolver, String path, String type, Map<String, Object> data) throws PersistenceException {
if (data.keySet().stream().noneMatch(k -> k.contains(SLASH))) {
return ResourceUtil.getOrCreateResource(resolver, path, data, type, false);
}
String returnPath = EMPTY;
for (Map.Entry<String, Object> entry : data.entrySet()) {
if (entry.getKey().contains(SLASH)) {
String deepPath = String.join(SLASH, path, StringUtils.substringBeforeLast(entry.getKey(), SLASH));
createResource(resolver, deepPath, type, Collections.singletonMap(
StringUtils.substringAfterLast(entry.getKey(), SLASH), entry.getValue()));
if (returnPath.isEmpty() || returnPath.length() > deepPath.length()) {
returnPath = deepPath;
}
}
}
return resolver.getResource(returnPath);
}