in core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java [217:268]
protected void tearDown() {
if (this.request != null) {
SlingBindings slingBindings = (SlingBindings)this.request.getAttribute(SlingBindings.class.getName());
if (slingBindings instanceof MockSlingBindings) {
((MockSlingBindings)slingBindings).tearDown();
}
}
if (this.resourceResolver != null) {
// revert potential unsaved changes in resource resolver/JCR session
try {
this.resourceResolver.revert();
} catch (UnsupportedOperationException ex){
// ignore - this may happen when jcr-mock is used
}
Session session = this.resourceResolver.adaptTo(Session.class);
if (session != null) {
try {
session.refresh(false);
} catch (RepositoryException ex) {
// ignore
} catch (UnsupportedOperationException ex){
// ignore - this may happen when jcr-mock is used
}
}
// remove unique roots
if (this.uniqueRoot != null) {
this.uniqueRoot.cleanUp();
}
// close resource resolver
this.resourceResolver.close();
}
this.resourceResolver = null;
this.request = null;
this.response = null;
this.slingScriptHelper = null;
this.contentLoader = null;
this.contentLoaderAutoCommit = null;
this.contentBuilder = null;
this.resourceBuilder = null;
this.uniqueRoot = null;
this.resourceResolverFactory = null;
super.tearDown();
MockSling.clearAdapterManagerBundleContext();
}