Package org.alfresco.filesys.repo
Class ContentQuotaManager
- java.lang.Object
-
- org.alfresco.filesys.repo.ContentQuotaManager
-
- All Implemented Interfaces:
java.lang.Runnable,org.alfresco.jlan.server.filesys.quota.QuotaManager
public class ContentQuotaManager extends java.lang.Object implements org.alfresco.jlan.server.filesys.quota.QuotaManager, java.lang.RunnableContent Quota Manager ClassImplementation of JLAN QuotaManager interface for the Alfresco repository.
Keeps an in memory quota for each active user. After a configurable length of time quotas are removed from memory.
- Author:
- gkspencer
-
-
Constructor Summary
Constructors Constructor Description ContentQuotaManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longallocateSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, long alloc)Allocate space on the filesystem.longgetAvailableFreeSpace()Return the free space available in bytesContentServicegetContentService()ContentUsageServicegetUsageService()Get the usage servicelonggetUserFreeSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)Return the free space available to the specified user/sessionlonggetUserTotalSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)Return the quota space available to the specified user/sessionvoidinit()voidreleaseSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, int fid, java.lang.String path, long alloc)Release space to the free space for the filesystem.voidrun()Inactivity checker, run in a seperate threadvoidsetContentService(ContentService contentService)voidsetUsageService(ContentUsageService usageService)Set the usage servicevoidstartManager(org.alfresco.jlan.server.filesys.DiskInterface disk, org.alfresco.jlan.server.filesys.DiskDeviceContext ctx)Start the quota manager.voidstopManager(org.alfresco.jlan.server.filesys.DiskInterface disk, org.alfresco.jlan.server.filesys.DiskDeviceContext ctx)Stop the quota manager
-
-
-
Method Detail
-
init
public void init()
-
getUsageService
public final ContentUsageService getUsageService()
Get the usage service- Returns:
- ContentUsageService
-
setUsageService
public final void setUsageService(ContentUsageService usageService)
Set the usage service- Parameters:
usageService- ContentUsageService
-
getAvailableFreeSpace
public long getAvailableFreeSpace()
Return the free space available in bytes- Specified by:
getAvailableFreeSpacein interfaceorg.alfresco.jlan.server.filesys.quota.QuotaManager- Returns:
- long
-
getUserTotalSpace
public long getUserTotalSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)Return the quota space available to the specified user/session- Specified by:
getUserTotalSpacein interfaceorg.alfresco.jlan.server.filesys.quota.QuotaManager- Parameters:
sess- SrvSessiontree- TreeConnection- Returns:
- long
-
getUserFreeSpace
public long getUserFreeSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)Return the free space available to the specified user/session- Specified by:
getUserFreeSpacein interfaceorg.alfresco.jlan.server.filesys.quota.QuotaManager- Parameters:
sess- SrvSessiontree- TreeConnection- Returns:
- long
-
allocateSpace
public long allocateSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, long alloc) throws java.io.IOExceptionAllocate space on the filesystem.- Specified by:
allocateSpacein interfaceorg.alfresco.jlan.server.filesys.quota.QuotaManager- Parameters:
sess- SrvSessiontree- TreeConnectionfile- NetworkFilealloc- long requested allocation size- Returns:
- long granted allocation size
- Throws:
java.io.IOException
-
releaseSpace
public void releaseSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, int fid, java.lang.String path, long alloc) throws java.io.IOExceptionRelease space to the free space for the filesystem.- Specified by:
releaseSpacein interfaceorg.alfresco.jlan.server.filesys.quota.QuotaManager- Parameters:
sess- SrvSessiontree- TreeConnectionfid- intpath- Stringalloc- long- Throws:
java.io.IOException
-
startManager
public void startManager(org.alfresco.jlan.server.filesys.DiskInterface disk, org.alfresco.jlan.server.filesys.DiskDeviceContext ctx) throws org.alfresco.jlan.server.filesys.quota.QuotaManagerExceptionStart the quota manager.- Specified by:
startManagerin interfaceorg.alfresco.jlan.server.filesys.quota.QuotaManager- Parameters:
disk- DiskInterfacectx- DiskDeviceContext- Throws:
org.alfresco.jlan.server.filesys.quota.QuotaManagerException
-
stopManager
public void stopManager(org.alfresco.jlan.server.filesys.DiskInterface disk, org.alfresco.jlan.server.filesys.DiskDeviceContext ctx) throws org.alfresco.jlan.server.filesys.quota.QuotaManagerExceptionStop the quota manager- Specified by:
stopManagerin interfaceorg.alfresco.jlan.server.filesys.quota.QuotaManager- Parameters:
disk- DiskInterfacectx- DiskDeviceContext- Throws:
org.alfresco.jlan.server.filesys.quota.QuotaManagerException
-
run
public void run()
Inactivity checker, run in a seperate thread- Specified by:
runin interfacejava.lang.Runnable
-
setContentService
public void setContentService(ContentService contentService)
-
getContentService
public ContentService getContentService()
-
-