public void remove()

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;
            }
        });
    }