diff --git a/source/java/org/alfresco/repo/tenant/MultiTServiceImpl.java b/source/java/org/alfresco/repo/tenant/MultiTServiceImpl.java index 889e529402..fe3bf5b3e5 100644 --- a/source/java/org/alfresco/repo/tenant/MultiTServiceImpl.java +++ b/source/java/org/alfresco/repo/tenant/MultiTServiceImpl.java @@ -605,6 +605,23 @@ public class MultiTServiceImpl implements TenantService return nameDomain; } + public static String getMultiTenantDomainName(String name) + { + // Check that all the passed values are not null + ParameterCheck.mandatory("name", name); + + int idx1 = name.indexOf(SEPARATOR); + if (idx1 == 0) + { + int idx2 = name.indexOf(SEPARATOR, 1); + if (idx2 != -1) + { + return name.substring(1, idx2); + } + } + return DEFAULT_DOMAIN; + } + /* (non-Javadoc) * @see org.alfresco.repo.tenant.TenantUserService#getDomainUser(java.lang.String, java.lang.String) */ diff --git a/source/java/org/alfresco/repo/workflow/WorkflowObjectFactory.java b/source/java/org/alfresco/repo/workflow/WorkflowObjectFactory.java index a22e5322dc..779388029f 100644 --- a/source/java/org/alfresco/repo/workflow/WorkflowObjectFactory.java +++ b/source/java/org/alfresco/repo/workflow/WorkflowObjectFactory.java @@ -27,6 +27,7 @@ import java.util.Map; import org.alfresco.repo.i18n.MessageService; import org.alfresco.repo.jscript.ScriptNode; +import org.alfresco.repo.tenant.MultiTServiceImpl; import org.alfresco.repo.tenant.TenantService; import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.TypeDefinition; @@ -340,7 +341,7 @@ public class WorkflowObjectFactory public Boolean apply(T value) { String key = processKeyGetter.apply(value); - String domain = tenantService.getDomain(key, false); + String domain = MultiTServiceImpl.getMultiTenantDomainName(key); return (currentDomain.equals(domain)); } });