in src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java [277:311]
public void remove(final Tenant tenant) {
call(new ResourceResolverTask<Void>() {
@Override
public Void call(ResourceResolver resolver) {
try {
Resource tenantRes = getTenantResource(resolver, tenant.getId());
if (tenantRes != null) {
// call tenant setup handler
for (TenantCustomizer ts : getTenantHandlers()) {
try {
ts.remove(tenant, resolver);
} catch (Exception e) {
log.info("removeTenant: Unexpected problem calling TenantCustomizer " + ts, e);
}
}
// call tenant hooks
for (TenantManagerHook ts : getHooks()) {
try {
ts.remove(tenant);
} catch (Exception e) {
log.info("removeTenant: Unexpected problem calling TenantManagerHook " + ts, e);
}
}
resolver.delete(tenantRes);
resolver.commit();
}
} catch (PersistenceException e) {
log.error("remove({}): Cannot persist Tenant removal", tenant.getId(), e);
}
return null;
}
});
}