in core/src/main/java/org/apache/sling/cms/core/internal/filters/EditIncludeFilter.java [225:261]
private boolean writeHeader(SlingHttpServletRequest request, PrintWriter writer, boolean includeEnd) {
String editPath = null;
Resource resource = request.getResource();
EditableResource editableResource = new EditableResourceImpl(resource);
Component component = editableResource.getComponent();
if (component != null && !component.isType(CMSConstants.COMPONENT_TYPE_PAGE)) {
editPath = component.getEditPath();
}
if (editPath == null) {
editPath = "";
}
I18NDictionary resourceBundle = provider.getDictionary(request);
if (StringUtils.isNotEmpty(editPath)) {
includeEnd = true;
writeEditorMarkup(resource, writer, resourceBundle, shouldWriteDropTarget(request));
} else if (component != null && !component.isEditable()) {
includeEnd = true;
String title = StringUtils.isNotEmpty(component.getTitle()) ? component.getTitle()
: StringUtils.substringAfterLast(resource.getResourceType(), "/");
title = resourceBundle.get(title);
Map<String, Object> replacements = new HashMap<>();
replacements.put("componentPath", component.getResource().getPath());
replacements.put("editPath", editPath);
replacements.put("reload", component.isReloadPage());
replacements.put("resourceName", component.getResource().getName());
replacements.put("resourcePath", resource.getPath());
replacements.put("resourceType", resource.getResourceType());
replacements.put("title", title);
writeTemplate(writer, replacements, "header.html");
}
return includeEnd;
}