Search in sources :

Example 26 with NodeEntity

use of org.alfresco.repo.domain.node.NodeEntity in project alfresco-repository by Alfresco.

the class NodeDAOImpl method selectChildAssocs.

@SuppressWarnings("unchecked")
@Override
public void selectChildAssocs(Long parentNodeId, QName assocTypeQName, QName assocQName, final int maxResults, ChildAssocRefQueryCallback resultsCallback) {
    ChildAssocEntity assoc = new ChildAssocEntity();
    // Parent
    NodeEntity parentNode = new NodeEntity();
    parentNode.setId(parentNodeId);
    assoc.setParentNode(parentNode);
    // Type QName
    if (assocTypeQName != null) {
        if (!assoc.setTypeQNameAll(qnameDAO, assocTypeQName, false)) {
            resultsCallback.done();
            // Shortcut
            return;
        }
    }
    // QName
    if (assocQName != null) {
        if (!assoc.setQNameAll(qnameDAO, assocQName, false)) {
            resultsCallback.done();
            // Shortcut
            return;
        }
    }
    // Order
    assoc.setOrdered(resultsCallback.orderResults());
    ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback);
    RowBounds rowBounds = new RowBounds(0, maxResults);
    List<?> entities = template.selectList(SELECT_CHILD_ASSOCS_OF_PARENT_LIMITED, assoc, rowBounds);
    @SuppressWarnings("rawtypes") final DefaultResultContext resultContext = new DefaultResultContext();
    for (Object entity : entities) {
        resultContext.nextResultObject(entity);
        resultHandler.handleResult(resultContext);
    }
    resultsCallback.done();
}
Also used : ChildAssocEntity(org.alfresco.repo.domain.node.ChildAssocEntity) RowBounds(org.apache.ibatis.session.RowBounds) DefaultResultContext(org.apache.ibatis.executor.result.DefaultResultContext) NodeEntity(org.alfresco.repo.domain.node.NodeEntity)

Example 27 with NodeEntity

use of org.alfresco.repo.domain.node.NodeEntity in project alfresco-repository by Alfresco.

the class NodeDAOImpl method selectNodeAssocsByTarget.

@Override
protected List<NodeAssocEntity> selectNodeAssocsByTarget(Long targetNodeId, Long typeQNameId) {
    NodeAssocEntity assoc = new NodeAssocEntity();
    // Target
    NodeEntity targetNode = new NodeEntity();
    targetNode.setId(targetNodeId);
    assoc.setTargetNode(targetNode);
    // Type
    assoc.setTypeQNameId(typeQNameId);
    return template.selectList(SELECT_NODE_ASSOCS_BY_TARGET, assoc);
}
Also used : NodeAssocEntity(org.alfresco.repo.domain.node.NodeAssocEntity) NodeEntity(org.alfresco.repo.domain.node.NodeEntity)

Example 28 with NodeEntity

use of org.alfresco.repo.domain.node.NodeEntity in project alfresco-repository by Alfresco.

the class NodeDAOImpl method selectChildAssocs.

@Override
protected void selectChildAssocs(Long parentNodeId, Long childNodeId, QName assocTypeQName, QName assocQName, Boolean isPrimary, Boolean sameStore, ChildAssocRefQueryCallback resultsCallback) {
    ChildAssocEntity assoc = new ChildAssocEntity();
    // Parent
    NodeEntity parentNode = new NodeEntity();
    parentNode.setId(parentNodeId);
    assoc.setParentNode(parentNode);
    // Child
    if (childNodeId != null) {
        NodeEntity childNode = new NodeEntity();
        childNode.setId(childNodeId);
        assoc.setChildNode(childNode);
    }
    // Type QName
    if (assocTypeQName != null) {
        if (!assoc.setTypeQNameAll(qnameDAO, assocTypeQName, false)) {
            resultsCallback.done();
            // Shortcut
            return;
        }
    }
    // QName
    if (assocQName != null) {
        if (!assoc.setQNameAll(qnameDAO, assocQName, false)) {
            resultsCallback.done();
            // Shortcut
            return;
        }
    }
    // Primary
    if (isPrimary != null) {
        assoc.setPrimary(isPrimary);
    }
    // Same store
    if (sameStore != null) {
        assoc.setSameStore(sameStore);
    }
    // Ordered
    assoc.setOrdered(resultsCallback.orderResults());
    ChildAssocResultHandler resultHandler = new ChildAssocResultHandler(resultsCallback);
    template.select(SELECT_CHILD_ASSOCS_OF_PARENT, assoc, resultHandler);
    resultsCallback.done();
}
Also used : ChildAssocEntity(org.alfresco.repo.domain.node.ChildAssocEntity) NodeEntity(org.alfresco.repo.domain.node.NodeEntity)

Example 29 with NodeEntity

use of org.alfresco.repo.domain.node.NodeEntity in project alfresco-repository by Alfresco.

the class NodeDAOImpl method selectNodeById.

@Override
protected NodeEntity selectNodeById(Long id) {
    NodeEntity node = new NodeEntity();
    node.setId(id);
    return template.selectOne(SELECT_NODE_BY_ID, node);
}
Also used : NodeEntity(org.alfresco.repo.domain.node.NodeEntity)

Aggregations

NodeEntity (org.alfresco.repo.domain.node.NodeEntity)29 ChildAssocEntity (org.alfresco.repo.domain.node.ChildAssocEntity)16 NodeAssocEntity (org.alfresco.repo.domain.node.NodeAssocEntity)5 ArrayList (java.util.ArrayList)4 NodeRef (org.alfresco.service.cmr.repository.NodeRef)4 Serializable (java.io.Serializable)3 HashMap (java.util.HashMap)3 Random (java.util.Random)3 CannedQueryDAOTest (org.alfresco.repo.domain.query.CannedQueryDAOTest)3 QName (org.alfresco.service.namespace.QName)3 Test (org.junit.Test)3 HashSet (java.util.HashSet)2 NodeDAO (org.alfresco.repo.domain.node.NodeDAO)2 Pair (org.alfresco.util.Pair)2 DefaultResultContext (org.apache.ibatis.executor.result.DefaultResultContext)2 RowBounds (org.apache.ibatis.session.RowBounds)2 IdsEntity (org.alfresco.ibatis.IdsEntity)1 StoreEntity (org.alfresco.repo.domain.node.StoreEntity)1 RetryingTransactionCallback (org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback)1 ChildAssociationRef (org.alfresco.service.cmr.repository.ChildAssociationRef)1