public void run()

in core/src/main/java/org/apache/sling/cms/core/internal/operations/CheckpointOperation.java [53:92]


    public void run(final SlingHttpServletRequest request, final PostResponse response,
			final SlingPostProcessor[] processors) {

		try {
			// calculate the paths
			String path = request.getResource().getPath();
			response.setPath(path);

			final List<Modification> changes = new ArrayList<>();

			doRun(request, response, changes);

			// invoke processors
			if (processors != null) {
				for (SlingPostProcessor processor : processors) {
					processor.process(request, changes);
				}
			}
			log.debug("Saving changes...");
			request.getResourceResolver().commit();

			// check modifications for remaining postfix and store the base path
			final Map<String, String> modificationSourcesContainingPostfix = new HashMap<>();
			final Set<String> allModificationSources = new HashSet<>(changes.size());
			for (final Modification modification : changes) {
				final String source = modification.getSource();
				if (source != null) {
					allModificationSources.add(source);
					final int atIndex = source.indexOf('@');
					if (atIndex > 0) {
						modificationSourcesContainingPostfix.put(source.substring(0, atIndex), source);
					}
				}
			}

		} catch (Exception e) {
			log.error("Exception during response processing.", e);
			response.setError(e);
		}
	}