From a8b55a36f7ec97e76caf3c1a6ca657e5acbbe359 Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Mon, 10 Sep 2007 15:51:41 +0000 Subject: [PATCH] Minor performance tweak (for single-tenant mode) as per KR's profiling test git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6729 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/dictionary/DictionaryDAOImpl.java | 116 +++++++++--------- 1 file changed, 60 insertions(+), 56 deletions(-) diff --git a/source/java/org/alfresco/repo/dictionary/DictionaryDAOImpl.java b/source/java/org/alfresco/repo/dictionary/DictionaryDAOImpl.java index 4d7e50396e..a05bd81918 100644 --- a/source/java/org/alfresco/repo/dictionary/DictionaryDAOImpl.java +++ b/source/java/org/alfresco/repo/dictionary/DictionaryDAOImpl.java @@ -337,69 +337,73 @@ public class DictionaryDAOImpl implements DictionaryDAO */ private List getModelsForUri(String uri) { - // note: special case, if running as System - e.g. addAuditAspect - String currentUserName = AuthenticationUtil.getCurrentUserName(); - - if ((tenantService.isTenantUser()) || - (tenantService.isTenantName(uri) && (currentUserName != null) && (currentUserName.equals(AuthenticationUtil.getSystemUserName())))) + if (tenantService.isEnabled()) { - String tenantDomain = null; - if (currentUserName.equals(AuthenticationUtil.getSystemUserName())) - { - tenantDomain = tenantService.getDomain(uri); - } - else - { - tenantDomain = tenantService.getCurrentUserDomain(); - } - uri = tenantService.getBaseName(uri, true); + // note: special case, if running as System - e.g. addAuditAspect + String currentUserName = AuthenticationUtil.getCurrentUserName(); - // get non-tenant models (if any) - List models = getUriToModels("").get(uri); - - List filteredModels = new ArrayList(); - if (models != null) + if (currentUserName != null) { - filteredModels.addAll(models); + if ((tenantService.isTenantUser(currentUserName)) || + (currentUserName.equals(AuthenticationUtil.getSystemUserName()) && tenantService.isTenantName(uri))) + { + String tenantDomain = null; + if (currentUserName.equals(AuthenticationUtil.getSystemUserName())) + { + tenantDomain = tenantService.getDomain(uri); + } + else + { + tenantDomain = tenantService.getCurrentUserDomain(); + } + uri = tenantService.getBaseName(uri, true); + + // get non-tenant models (if any) + List models = getUriToModels("").get(uri); + + List filteredModels = new ArrayList(); + if (models != null) + { + filteredModels.addAll(models); + } + + // get tenant models (if any) + List tenantModels = getUriToModels(tenantDomain).get(uri); + if (tenantModels != null) + { + if (models != null) + { + // check to see if tenant model overrides a non-tenant model + for (CompiledModel tenantModel : tenantModels) + { + for (CompiledModel model : models) + { + if (tenantModel.getM2Model().getName().equals(model.getM2Model().getName())) + { + filteredModels.remove(model); + } + } + } + } + filteredModels.addAll(tenantModels); + models = filteredModels; + } + + if (models == null) + { + models = Collections.emptyList(); + } + return models; + } } - - // get tenant models (if any) - List tenantModels = getUriToModels(tenantDomain).get(uri); - if (tenantModels != null) - { - if (models != null) - { - // check to see if tenant model overrides a non-tenant model - for (CompiledModel tenantModel : tenantModels) - { - for (CompiledModel model : models) - { - if (tenantModel.getM2Model().getName().equals(model.getM2Model().getName())) - { - filteredModels.remove(model); - } - } - } - } - filteredModels.addAll(tenantModels); - models = filteredModels; - } - - if (models == null) - { - models = Collections.emptyList(); - } - return models; } - else + + List models = getUriToModels().get(uri); + if (models == null) { - List models = getUriToModels().get(uri); - if (models == null) - { - models = Collections.emptyList(); - } - return models; + models = Collections.emptyList(); } + return models; }