Merged DEV to HEAD

52182: MT: Remove some unused code and add @Override for DAO methods
   52183: ALF-19172: Disable sys:undeletable aspect while deleting test's tenants
   52274: Allow post-test tenant deletion by implementing hacks against ALF-19155


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@52284 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2013-07-09 13:45:58 +00:00
parent 437ba4e516
commit e4cd0465bb
4 changed files with 20 additions and 25 deletions

View File

@@ -1895,13 +1895,14 @@ public class DiscussionServiceImplTest
public Void execute() throws Throwable public Void execute() throws Throwable
{ {
// TODO: WARNING: HACK for ALF-19155: MT deleteTenant does not work // TODO: WARNING: HACK for ALF-19155: MT deleteTenant does not work
// MultiTNodeServiceInterceptor.exists does not work is tenant has been deleted. // PersonService prevents 'guest' authorities from being deleted
// beforeCommit code breaks on NodeService.exists calls
{ {
return null; BehaviourFilter behaviourFilter = (BehaviourFilter) testContext.getBean("policyBehaviourFilter");
behaviourFilter.disableBehaviour(ContentModel.TYPE_PERSON);
behaviourFilter.disableBehaviour(ContentModel.ASPECT_UNDELETABLE);
} }
// TENANT_ADMIN_SERVICE.deleteTenant(TENANT_DOMAIN); TENANT_ADMIN_SERVICE.deleteTenant(TENANT_DOMAIN);
// return null; return null;
} }
}); });
} }

View File

@@ -77,6 +77,7 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO
this.tenantEntityCache = new EntityLookupCache<String, TenantEntity, Serializable>(tenantEntityDaoCallback); this.tenantEntityCache = new EntityLookupCache<String, TenantEntity, Serializable>(tenantEntityDaoCallback);
} }
@Override
public TenantEntity createTenant(TenantEntity entity) public TenantEntity createTenant(TenantEntity entity)
{ {
ParameterCheck.mandatory("entity", entity); ParameterCheck.mandatory("entity", entity);
@@ -96,6 +97,7 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO
return entityPair.getSecond(); return entityPair.getSecond();
} }
@Override
public TenantEntity getTenant(String tenantDomain) public TenantEntity getTenant(String tenantDomain)
{ {
return getTenantImpl(tenantDomain); return getTenantImpl(tenantDomain);
@@ -116,11 +118,13 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO
return entityPair.getSecond(); return entityPair.getSecond();
} }
@Override
public List<TenantEntity> listTenants() public List<TenantEntity> listTenants()
{ {
return getTenantEntities(); return getTenantEntities();
} }
@Override
public TenantUpdateEntity getTenantForUpdate(String tenantDomain) public TenantUpdateEntity getTenantForUpdate(String tenantDomain)
{ {
TenantEntity entity = getTenantImpl(tenantDomain); TenantEntity entity = getTenantImpl(tenantDomain);
@@ -140,6 +144,7 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO
return updateEntity; return updateEntity;
} }
@Override
public void updateTenant(TenantUpdateEntity entity) public void updateTenant(TenantUpdateEntity entity)
{ {
ParameterCheck.mandatory("entity", entity); ParameterCheck.mandatory("entity", entity);
@@ -153,6 +158,7 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO
} }
} }
@Override
public void deleteTenant(String tenantDomain) public void deleteTenant(String tenantDomain)
{ {
ParameterCheck.mandatoryString("tenantDomain", tenantDomain); ParameterCheck.mandatoryString("tenantDomain", tenantDomain);
@@ -184,23 +190,27 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO
} }
} }
@Override
public Serializable getValueKey(TenantEntity value) public Serializable getValueKey(TenantEntity value)
{ {
return null; return null;
} }
@Override
public Pair<String, TenantEntity> createValue(TenantEntity value) public Pair<String, TenantEntity> createValue(TenantEntity value)
{ {
TenantEntity entity = createTenantEntity(value); TenantEntity entity = createTenantEntity(value);
return convertEntityToPair(entity); return convertEntityToPair(entity);
} }
@Override
public Pair<String, TenantEntity> findByKey(String key) public Pair<String, TenantEntity> findByKey(String key)
{ {
TenantEntity entity = getTenantEntity(key); TenantEntity entity = getTenantEntity(key);
return convertEntityToPair(entity); return convertEntityToPair(entity);
} }
@Override
public Pair<String, TenantEntity> findByValue(TenantEntity value) public Pair<String, TenantEntity> findByValue(TenantEntity value)
{ {
if ((value == null) || (value.getTenantDomain() == null)) if ((value == null) || (value.getTenantDomain() == null))
@@ -210,16 +220,19 @@ public abstract class AbstractTenantAdminDAOImpl implements TenantAdminDAO
return convertEntityToPair(getTenantEntity(value.getTenantDomain())); return convertEntityToPair(getTenantEntity(value.getTenantDomain()));
} }
@Override
public int updateValue(String tenantDomain, TenantEntity value) public int updateValue(String tenantDomain, TenantEntity value)
{ {
return updateTenantEntity(value); return updateTenantEntity(value);
} }
@Override
public int deleteByKey(String tenantDomain) public int deleteByKey(String tenantDomain)
{ {
return deleteTenantEntity(tenantDomain); return deleteTenantEntity(tenantDomain);
} }
@Override
public int deleteByValue(TenantEntity value) public int deleteByValue(TenantEntity value)
{ {
throw new UnsupportedOperationException("deleteByValue"); throw new UnsupportedOperationException("deleteByValue");

View File

@@ -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) protected void initTenant(String tenantDomain, String contentRoot, String dbUrl)
{ {
validateTenantName(tenantDomain); validateTenantName(tenantDomain);

View File

@@ -43,7 +43,6 @@ import org.alfresco.repo.model.Repository;
import org.alfresco.repo.node.archive.NodeArchiveService; import org.alfresco.repo.node.archive.NodeArchiveService;
import org.alfresco.repo.node.archive.RestoreNodeReport; import org.alfresco.repo.node.archive.RestoreNodeReport;
import org.alfresco.repo.node.index.FullIndexRecoveryComponent; import org.alfresco.repo.node.index.FullIndexRecoveryComponent;
import org.alfresco.repo.node.index.IndexTransactionTracker;
import org.alfresco.repo.policy.BehaviourFilter; import org.alfresco.repo.policy.BehaviourFilter;
import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
@@ -259,6 +258,7 @@ public class MultiTDemoTest extends TestCase
{ {
BehaviourFilter behaviourFilter = (BehaviourFilter) ctx.getBean("policyBehaviourFilter"); BehaviourFilter behaviourFilter = (BehaviourFilter) ctx.getBean("policyBehaviourFilter");
behaviourFilter.disableBehaviour(ContentModel.TYPE_PERSON); behaviourFilter.disableBehaviour(ContentModel.TYPE_PERSON);
behaviourFilter.disableBehaviour(ContentModel.ASPECT_UNDELETABLE);
} }
tenantAdminService.deleteTenant(tenantDomain); tenantAdminService.deleteTenant(tenantDomain);