org.alfresco.repo.domain.usage
Class AbstractUsageDAOImpl

java.lang.Object
  extended by org.alfresco.repo.domain.usage.AbstractUsageDAOImpl
All Implemented Interfaces:
UsageDAO
Direct Known Subclasses:
UsageDAOImpl

public abstract class AbstractUsageDAOImpl
extends java.lang.Object
implements UsageDAO

Abstract implementation for Usage DAO.

This provides basic services such as caching, but defers to the underlying implementation for CRUD operations for: alf_usage_delta

Since:
3.4

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.alfresco.repo.domain.usage.UsageDAO
UsageDAO.MapHandler, UsageDAO.StringHandler
 
Constructor Summary
AbstractUsageDAOImpl()
           
 
Method Summary
 int deleteDeltas(long nodeId)
          Delete usage deltas for given node entity id
 int deleteDeltas(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          Delete usage deltas for given nodeRef
protected abstract  int deleteUsageDeltaEntitiesByNodeId(long nodeEntityId)
           
 long getTotalDeltaSize(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean removeDeltas)
          Get the total delta size for a node.
 java.util.Set getUsageDeltaNodes()
           
 void getUserContentSizesForStore(org.alfresco.service.cmr.repository.StoreRef storeRef, UsageDAO.MapHandler resultsCallback)
          New style content urls - Iterate and sum all content node sizes for user (owner/creator)
 void getUsersWithoutUsage(org.alfresco.service.cmr.repository.StoreRef storeRef, UsageDAO.MapHandler handler)
          Iterate over all person nodes to get users without a calculated usage
 void getUsersWithUsage(org.alfresco.service.cmr.repository.StoreRef storeRef, UsageDAO.MapHandler handler)
          Iterate over all person nodes to get users with a calculated usage
 void insertDelta(org.alfresco.service.cmr.repository.NodeRef usageNodeRef, long deltaSize)
          Create a usage delta entry.
protected abstract  UsageDeltaEntity insertUsageDeltaEntity(UsageDeltaEntity entity)
           
protected abstract  UsageDeltaEntity selectTotalUsageDeltaSize(long nodeEntityId)
           
protected abstract  java.util.List selectUsageDeltaNodes()
           
protected abstract  void selectUserContentSizesForStore(org.alfresco.service.cmr.repository.StoreRef storeRef, UsageDAO.MapHandler resultsCallback)
           
protected abstract  void selectUsersWithoutUsage(org.alfresco.service.cmr.repository.StoreRef storeRef, UsageDAO.MapHandler handler)
           
protected abstract  void selectUsersWithUsage(org.alfresco.service.cmr.repository.StoreRef storeRef, UsageDAO.MapHandler handler)
           
 void setNodeDAO(NodeDAO nodeDAO)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractUsageDAOImpl

public AbstractUsageDAOImpl()
Method Detail

setNodeDAO

public void setNodeDAO(NodeDAO nodeDAO)

deleteDeltas

public int deleteDeltas(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface: UsageDAO
Delete usage deltas for given nodeRef

Specified by:
deleteDeltas in interface UsageDAO
Returns:

deleteDeltas

public int deleteDeltas(long nodeId)
Description copied from interface: UsageDAO
Delete usage deltas for given node entity id

Specified by:
deleteDeltas in interface UsageDAO
Returns:

getTotalDeltaSize

public long getTotalDeltaSize(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                              boolean removeDeltas)
Description copied from interface: UsageDAO
Get the total delta size for a node.

Specified by:
getTotalDeltaSize in interface UsageDAO
Parameters:
nodeRef - the node reference
removeDeltas - true to remove the deltas before returning the result.
Returns:
sum of delta sizes (in bytes) - can be +ve or -ve

insertDelta

public void insertDelta(org.alfresco.service.cmr.repository.NodeRef usageNodeRef,
                        long deltaSize)
Description copied from interface: UsageDAO
Create a usage delta entry.

Specified by:
insertDelta in interface UsageDAO
deltaSize - the size change

getUsageDeltaNodes

public java.util.Set getUsageDeltaNodes()
Specified by:
getUsageDeltaNodes in interface UsageDAO

getUserContentSizesForStore

public void getUserContentSizesForStore(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                        UsageDAO.MapHandler resultsCallback)
Description copied from interface: UsageDAO
New style content urls - Iterate and sum all content node sizes for user (owner/creator)

Specified by:
getUserContentSizesForStore in interface UsageDAO
Parameters:
storeRef - the store to search in

getUsersWithoutUsage

public void getUsersWithoutUsage(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                 UsageDAO.MapHandler handler)
Description copied from interface: UsageDAO
Iterate over all person nodes to get users without a calculated usage

Specified by:
getUsersWithoutUsage in interface UsageDAO
Parameters:
storeRef - the store to search in

getUsersWithUsage

public void getUsersWithUsage(org.alfresco.service.cmr.repository.StoreRef storeRef,
                              UsageDAO.MapHandler handler)
Description copied from interface: UsageDAO
Iterate over all person nodes to get users with a calculated usage

Specified by:
getUsersWithUsage in interface UsageDAO
Parameters:
storeRef - the store to search in

insertUsageDeltaEntity

protected abstract UsageDeltaEntity insertUsageDeltaEntity(UsageDeltaEntity entity)

selectTotalUsageDeltaSize

protected abstract UsageDeltaEntity selectTotalUsageDeltaSize(long nodeEntityId)

selectUsageDeltaNodes

protected abstract java.util.List selectUsageDeltaNodes()

selectUsersWithoutUsage

protected abstract void selectUsersWithoutUsage(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                UsageDAO.MapHandler handler)

selectUsersWithUsage

protected abstract void selectUsersWithUsage(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                             UsageDAO.MapHandler handler)

selectUserContentSizesForStore

protected abstract void selectUserContentSizesForStore(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                       UsageDAO.MapHandler resultsCallback)

deleteUsageDeltaEntitiesByNodeId

protected abstract int deleteUsageDeltaEntitiesByNodeId(long nodeEntityId)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.