diff --git a/config/alfresco/application-context.xml b/config/alfresco/application-context.xml
index 6192cf7e72..9ecf87d8de 100644
--- a/config/alfresco/application-context.xml
+++ b/config/alfresco/application-context.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/config/alfresco/usage-services-context.xml b/config/alfresco/usage-services-context.xml
index dad5f80d28..3c1b2828e6 100644
--- a/config/alfresco/usage-services-context.xml
+++ b/config/alfresco/usage-services-context.xml
@@ -3,8 +3,19 @@
-
-
+
+
+
+
+
+
+
+ multiTNodeServiceInterceptor
+
+
+
+
+
diff --git a/source/java/org/alfresco/repo/tenant/MultiTAdminServiceImpl.java b/source/java/org/alfresco/repo/tenant/MultiTAdminServiceImpl.java
index de0e20d5b0..6e31eef93c 100755
--- a/source/java/org/alfresco/repo/tenant/MultiTAdminServiceImpl.java
+++ b/source/java/org/alfresco/repo/tenant/MultiTAdminServiceImpl.java
@@ -1139,7 +1139,7 @@ public class MultiTAdminServiceImpl implements TenantAdminService, ApplicationCo
}
}
- // tenant deployer services delegated to tenant service
+ // tenant deployer/user services delegated to tenant service
public boolean isEnabled()
{
@@ -1151,6 +1151,11 @@ public class MultiTAdminServiceImpl implements TenantAdminService, ApplicationCo
return tenantService.getCurrentUserDomain();
}
+ public String getUserDomain(String username)
+ {
+ return tenantService.getUserDomain(username);
+ }
+
public String getDomainUser(String baseUsername, String tenantDomain)
{
return tenantService.getDomainUser(baseUsername, tenantDomain);
diff --git a/source/java/org/alfresco/repo/tenant/SingleTAdminServiceImpl.java b/source/java/org/alfresco/repo/tenant/SingleTAdminServiceImpl.java
index d0d10ada03..b297d5b938 100644
--- a/source/java/org/alfresco/repo/tenant/SingleTAdminServiceImpl.java
+++ b/source/java/org/alfresco/repo/tenant/SingleTAdminServiceImpl.java
@@ -109,6 +109,14 @@ public class SingleTAdminServiceImpl implements TenantAdminService
return TenantService.DEFAULT_DOMAIN;
}
+ /**
+ * @return Returns {@link TenantService#DEFAULT_DOMAIN} always
+ */
+ public String getUserDomain(String username)
+ {
+ return TenantService.DEFAULT_DOMAIN;
+ }
+
/**
* @return Returns the given baseUserName always
*/
diff --git a/source/java/org/alfresco/repo/tenant/TenantUserService.java b/source/java/org/alfresco/repo/tenant/TenantUserService.java
index b6dd4268a8..621497affc 100644
--- a/source/java/org/alfresco/repo/tenant/TenantUserService.java
+++ b/source/java/org/alfresco/repo/tenant/TenantUserService.java
@@ -3,7 +3,7 @@ package org.alfresco.repo.tenant;
/**
* Interface for Tenant User-Domain functionality.
*
- * @author Jan Vonka
+ * @author janv
* @author Derek Hulley
* @since 3.0
*/
@@ -11,9 +11,11 @@ public interface TenantUserService
{
public String getCurrentUserDomain();
+ public String getDomain(String name);
+
+ public String getUserDomain(String username);
+
public String getDomainUser(String baseUsername, String tenantDomain);
- public String getDomain(String name);
-
public boolean isEnabled();
}
diff --git a/source/java/org/alfresco/repo/usage/UserUsageTrackingComponent.java b/source/java/org/alfresco/repo/usage/UserUsageTrackingComponent.java
index c0be13010b..34e3b4108b 100644
--- a/source/java/org/alfresco/repo/usage/UserUsageTrackingComponent.java
+++ b/source/java/org/alfresco/repo/usage/UserUsageTrackingComponent.java
@@ -254,9 +254,16 @@ public class UserUsageTrackingComponent
// execute in READ-ONLY txn
final Set userNames = txnHelper.doInTransaction(getAllPeople, true);
- for (String userName : userNames)
+ for (final String userName : userNames)
{
- recalculateUsage(userName);
+ AuthenticationUtil.runAs(new RunAsWork