mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V2.9 to HEAD
10561: Merged V2.2 to V2.9 9882: Node DAO separation 10580: Merged V2.2 to V2.9 10576: Missing onContentDelete firing 10577: More policies: beforeCreateNode and beforeDeleteNode when archiving nodes in hierarchy - Updated UsageService and TenantService to conform to the new node DAO (more separation) - TODO: Tenant node interceptor not present. This must be added if Multi-Tentant features are required. - NodeMonitor event processing now checks that the nodes are still valid before processing. - onMove firing was breaking NodeMonitor. Changed onMove to not fire when nodes are moved between stores. - Raised ALFCOM-1912: ClassCastException when accessing property of type ver2:versionNumber - Pull setFixedAcls fully into Node DAO for simpler and speedier execution git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10709 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -30,12 +30,13 @@ import java.util.Set;
|
||||
|
||||
import org.alfresco.repo.domain.Node;
|
||||
import org.alfresco.repo.domain.UsageDelta;
|
||||
import org.alfresco.repo.domain.UsageDeltaDAO;
|
||||
import org.alfresco.repo.node.db.NodeDaoService;
|
||||
import org.alfresco.repo.transaction.TransactionalDao;
|
||||
import org.alfresco.repo.usage.UsageDeltaDAO;
|
||||
import org.alfresco.service.cmr.repository.InvalidNodeRefException;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.util.GUID;
|
||||
import org.alfresco.util.Pair;
|
||||
import org.alfresco.util.ParameterCheck;
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.Session;
|
||||
@@ -130,22 +131,22 @@ public class HibernateUsageDeltaDAO extends HibernateDaoSupport implements Usage
|
||||
getSession().flush();
|
||||
}
|
||||
|
||||
private Node getNodeNotNull(NodeRef nodeRef) throws InvalidNodeRefException
|
||||
private Long getNodeIdNotNull(NodeRef nodeRef) throws InvalidNodeRefException
|
||||
{
|
||||
ParameterCheck.mandatory("nodeRef", nodeRef);
|
||||
|
||||
Node unchecked = nodeDaoService.getNode(nodeRef);
|
||||
if (unchecked == null)
|
||||
Pair<Long, NodeRef> nodePair = nodeDaoService.getNodePair(nodeRef);
|
||||
if (nodePair == null)
|
||||
{
|
||||
throw new InvalidNodeRefException("Node does not exist: " + nodeRef, nodeRef);
|
||||
}
|
||||
return unchecked;
|
||||
return nodePair.getFirst();
|
||||
}
|
||||
|
||||
public int deleteDeltas(NodeRef nodeRef)
|
||||
{
|
||||
Node node = getNodeNotNull(nodeRef);
|
||||
return deleteDeltas(node.getId());
|
||||
Long nodeId = getNodeIdNotNull(nodeRef);
|
||||
return deleteDeltas(nodeId);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -170,13 +171,13 @@ public class HibernateUsageDeltaDAO extends HibernateDaoSupport implements Usage
|
||||
@SuppressWarnings("unchecked")
|
||||
public long getTotalDeltaSize(NodeRef nodeRef)
|
||||
{
|
||||
final Node node = getNodeNotNull(nodeRef);
|
||||
final Long nodeId = getNodeIdNotNull(nodeRef);
|
||||
HibernateCallback callback = new HibernateCallback()
|
||||
{
|
||||
public Object doInHibernate(Session session)
|
||||
{
|
||||
Query query = session.getNamedQuery(QUERY_GET_TOTAL_DELTA_SIZE);
|
||||
query.setParameter("node", node);
|
||||
query.setParameter("nodeId", nodeId);
|
||||
query.setReadOnly(true);
|
||||
return query.uniqueResult();
|
||||
}
|
||||
@@ -189,7 +190,8 @@ public class HibernateUsageDeltaDAO extends HibernateDaoSupport implements Usage
|
||||
|
||||
public void insertDelta(NodeRef usageNodeRef, long deltaSize)
|
||||
{
|
||||
Node node = getNodeNotNull(usageNodeRef);
|
||||
Long nodeId = getNodeIdNotNull(usageNodeRef);
|
||||
Node node = (Node) getHibernateTemplate().get(NodeImpl.class, nodeId);
|
||||
|
||||
UsageDelta delta = new UsageDeltaImpl();
|
||||
// delta properties
|
||||
|
Reference in New Issue
Block a user