From 74d754b5ac3df038e2d2a8b5e06ddbb35d12f334 Mon Sep 17 00:00:00 2001 From: Gary Spencer Date: Fri, 15 Apr 2011 15:29:29 +0000 Subject: [PATCH] MT: File which exceeds user quota can be uploaded via FTP, but it's size is 0 bytes. ALF-6721. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@26930 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../default/file-servers-context.xml | 18 +++++++++++++---- .../alfresco/MultiTenantShareMapper.java | 20 ++++++++++++++++++- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/config/alfresco/subsystems/fileServers/default/file-servers-context.xml b/config/alfresco/subsystems/fileServers/default/file-servers-context.xml index bbe0f43747..53cc504555 100644 --- a/config/alfresco/subsystems/fileServers/default/file-servers-context.xml +++ b/config/alfresco/subsystems/fileServers/default/file-servers-context.xml @@ -466,10 +466,20 @@ - diff --git a/source/java/org/alfresco/filesys/alfresco/MultiTenantShareMapper.java b/source/java/org/alfresco/filesys/alfresco/MultiTenantShareMapper.java index 2a2c239544..3dbc436866 100644 --- a/source/java/org/alfresco/filesys/alfresco/MultiTenantShareMapper.java +++ b/source/java/org/alfresco/filesys/alfresco/MultiTenantShareMapper.java @@ -38,6 +38,7 @@ import org.alfresco.jlan.server.core.SharedDeviceList; import org.alfresco.jlan.server.filesys.DiskSharedDevice; import org.alfresco.jlan.server.filesys.FilesystemsConfigSection; import org.alfresco.jlan.server.filesys.SrvDiskInfo; +import org.alfresco.jlan.server.filesys.quota.QuotaManager; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.StoreRef; import org.springframework.beans.factory.InitializingBean; @@ -68,6 +69,10 @@ public class MultiTenantShareMapper implements ShareMapper, ConfigurationListene private Hashtable m_tenantShareLists; + // Quota manager to use when creating multi-tenant shares + + private QuotaManager m_quotaManager; + // Debug enable flag private boolean m_debug; @@ -94,7 +99,15 @@ public class MultiTenantShareMapper implements ShareMapper, ConfigurationListene this.m_debug = debug; } - + /** + * Set the quota manager to be used by multi-tenant shares + * + * @param quotaManager QuotaManager + */ + public void setQuotaManager( QuotaManager quotaManager) { + m_quotaManager = quotaManager; + } + /** * Initialize the share mapper * @@ -418,6 +431,11 @@ public class MultiTenantShareMapper implements ShareMapper, ConfigurationListene ContentDiskDriver diskDrv = (ContentDiskDriver) m_alfrescoConfig.getRepoDiskInterface(); ContentContext diskCtx = new ContentContext(m_tenantShareName, "", m_rootPath, rootNodeRef); + // Set a quota manager for the share, if enabled + + if ( m_quotaManager != null) + diskCtx.setQuotaManager( m_quotaManager); + // Enable file state caching diskCtx.enableStateCache( true);