diff --git a/source/java/org/alfresco/repo/discussion/DiscussionServiceImplTest.java b/source/java/org/alfresco/repo/discussion/DiscussionServiceImplTest.java index 31db30a40c..e61b5cc78d 100644 --- a/source/java/org/alfresco/repo/discussion/DiscussionServiceImplTest.java +++ b/source/java/org/alfresco/repo/discussion/DiscussionServiceImplTest.java @@ -1895,13 +1895,14 @@ public class DiscussionServiceImplTest public Void execute() throws Throwable { // TODO: WARNING: HACK for ALF-19155: MT deleteTenant does not work - // MultiTNodeServiceInterceptor.exists does not work is tenant has been deleted. - // beforeCommit code breaks on NodeService.exists calls + // PersonService prevents 'guest' authorities from being deleted { - return null; + BehaviourFilter behaviourFilter = (BehaviourFilter) testContext.getBean("policyBehaviourFilter"); + behaviourFilter.disableBehaviour(ContentModel.TYPE_PERSON); + behaviourFilter.disableBehaviour(ContentModel.ASPECT_UNDELETABLE); } -// TENANT_ADMIN_SERVICE.deleteTenant(TENANT_DOMAIN); -// return null; + TENANT_ADMIN_SERVICE.deleteTenant(TENANT_DOMAIN); + return null; } }); } diff --git a/source/java/org/alfresco/repo/domain/tenant/AbstractTenantAdminDAOImpl.java b/source/java/org/alfresco/repo/domain/tenant/AbstractTenantAdminDAOImpl.java index 650c0eb0d8..92ec20360f 100644 --- a/source/java/org/alfresco/repo/domain/tenant/AbstractTenantAdminDAOImpl.java +++ b/source/java/org/alfresco/repo/domain/tenant/AbstractTenantAdminDAOImpl.java @@ -77,6 +77,7 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO this.tenantEntityCache = new EntityLookupCache(tenantEntityDaoCallback); } + @Override public TenantEntity createTenant(TenantEntity entity) { ParameterCheck.mandatory("entity", entity); @@ -96,6 +97,7 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO return entityPair.getSecond(); } + @Override public TenantEntity getTenant(String tenantDomain) { return getTenantImpl(tenantDomain); @@ -116,11 +118,13 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO return entityPair.getSecond(); } + @Override public List listTenants() { return getTenantEntities(); } + @Override public TenantUpdateEntity getTenantForUpdate(String tenantDomain) { TenantEntity entity = getTenantImpl(tenantDomain); @@ -140,6 +144,7 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO return updateEntity; } + @Override public void updateTenant(TenantUpdateEntity entity) { ParameterCheck.mandatory("entity", entity); @@ -153,6 +158,7 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO } } + @Override public void deleteTenant(String tenantDomain) { ParameterCheck.mandatoryString("tenantDomain", tenantDomain); @@ -184,23 +190,27 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO } } + @Override public Serializable getValueKey(TenantEntity value) { return null; } + @Override public Pair createValue(TenantEntity value) { TenantEntity entity = createTenantEntity(value); return convertEntityToPair(entity); } + @Override public Pair findByKey(String key) { TenantEntity entity = getTenantEntity(key); return convertEntityToPair(entity); } + @Override public Pair findByValue(TenantEntity value) { if ((value == null) || (value.getTenantDomain() == null)) @@ -210,16 +220,19 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO return convertEntityToPair(getTenantEntity(value.getTenantDomain())); } + @Override public int updateValue(String tenantDomain, TenantEntity value) { return updateTenantEntity(value); } + @Override public int deleteByKey(String tenantDomain) { return deleteTenantEntity(tenantDomain); } + @Override public int deleteByValue(TenantEntity value) { throw new UnsupportedOperationException("deleteByValue"); diff --git a/source/java/org/alfresco/repo/tenant/MultiTAdminServiceImpl.java b/source/java/org/alfresco/repo/tenant/MultiTAdminServiceImpl.java index c43b952a68..fd9af833a4 100644 --- a/source/java/org/alfresco/repo/tenant/MultiTAdminServiceImpl.java +++ b/source/java/org/alfresco/repo/tenant/MultiTAdminServiceImpl.java @@ -1261,25 +1261,6 @@ public class MultiTAdminServiceImpl implements TenantAdminService, ApplicationCo } } - public void resetCache(String tenantDomain) - { - if (existsTenant(tenantDomain)) - { - if (isEnabledTenant(tenantDomain)) - { - enableTenant(tenantDomain); - } - else - { - disableTenant(tenantDomain); - } - } - else - { - throw new AuthenticationException("No such tenant " + tenantDomain); - } - } - protected void initTenant(String tenantDomain, String contentRoot, String dbUrl) { validateTenantName(tenantDomain); diff --git a/source/java/org/alfresco/repo/tenant/MultiTDemoTest.java b/source/java/org/alfresco/repo/tenant/MultiTDemoTest.java index 5a0a1b8d30..5d609c767e 100644 --- a/source/java/org/alfresco/repo/tenant/MultiTDemoTest.java +++ b/source/java/org/alfresco/repo/tenant/MultiTDemoTest.java @@ -43,7 +43,6 @@ import org.alfresco.repo.model.Repository; import org.alfresco.repo.node.archive.NodeArchiveService; import org.alfresco.repo.node.archive.RestoreNodeReport; import org.alfresco.repo.node.index.FullIndexRecoveryComponent; -import org.alfresco.repo.node.index.IndexTransactionTracker; import org.alfresco.repo.policy.BehaviourFilter; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; @@ -259,6 +258,7 @@ public class MultiTDemoTest extends TestCase { BehaviourFilter behaviourFilter = (BehaviourFilter) ctx.getBean("policyBehaviourFilter"); behaviourFilter.disableBehaviour(ContentModel.TYPE_PERSON); + behaviourFilter.disableBehaviour(ContentModel.ASPECT_UNDELETABLE); } tenantAdminService.deleteTenant(tenantDomain);