Merged V3.1 to HEAD

13033: Back end support for ETHREEOH-1179
   13038: JAWS-436 - refactor WCM submit dialog to use WCM sandbox service + update unit tests
   13046: Merged V3.0 to V3.1
      13043: Merged V2.2 to V3.0
         13016: Fix for ETWOTWO-1088 (reset layer using flatten rather than delete & add, users can flatten in stores they own but not delete)
   13049: Build/test fix (WCM AssetTest)
   13057: Merged V2.1-A to V3.1
      8770: Added Flex SDK module
      8771: Added Flex SDK binary (swc)
      DH: I'm not sure about the svn:eol-style property appearing here.  SVN Clients?
   13059: Added 'AIX' as a platform type, from Adobe V2.1A, missed checkin.
   13060: [no comments]
   13061: [no comments]
   13063: [no comments]
   13064: [no comments]
   13066: [no comments]
   13067: Add NodeService.getChildrenByName
   13072: Added new NodeService.getChildrenByName() method to public-services-security-context.
   ___________________________________________________________________
   Modified: svn:mergeinfo
      Merged /alfresco/BRANCHES/V3.0:r13043
      Merged /alfresco/BRANCHES/V2.2:r13016
      Merged /alfresco/BRANCHES/V3.1:r13033,13038,13046,13049,13057,13059-13061,13063-13064,13066-13067,13072


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13552 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2009-03-11 04:21:44 +00:00
parent f1307fba20
commit 2c563871d8
38 changed files with 1264 additions and 412 deletions

View File

@@ -232,6 +232,31 @@ public interface NodeDaoService
);
}
/**
* Interface used to iterate over results from child association queries
* @author Derek Hulley
*/
public interface ChildAssocRefQueryCallbackFilter extends ChildAssocRefQueryCallback
{
/**
* Method to handle raw query results and decide if the result should be filtered out or not.
* If <tt>true</tt> is returned, the standard {@link #handle(Pair, Pair, Pair) handler} method
* will be called. If <tt>false</tt> is returned, then the query result will be skipped.
* <p>
* This provides a quick way to filter out results without having to pull in full entities.
*
* @return Return <tt>true</tt> if the standard {@link #handle(Pair, Pair, Pair) handler}
* method should be called, or <tt>false</tt> to filter the result out.
*/
boolean isDesiredRow(
Pair<Long, ChildAssociationRef> childAssocPair,
Pair<Long, NodeRef> parentNodePair,
Pair<Long, NodeRef> childNodePair,
String assocChildNodeName,
Long assocChildNodeNameCrc
);
}
/**
* Get a collection of all child association references for a given parent node.
* <p>
@@ -249,11 +274,23 @@ public interface NodeDaoService
/**
* Get a collection of all child association references for a given parent node.
*
* @param parentNodeId the parent node
* @param parentNodeId the parent node
* @param resultsCallback the callback that will be called with the results
*/
@DirtySessionAnnotation(markDirty=false)
public void getChildAssocs(Long parentNodeId, QName assocQName, ChildAssocRefQueryCallback resultsCallback);
/**
* Get a collection of all child associations references where the child name is an exact match.
* This method only works if the association type fundamentally supports unique-name enforcement.
*
* @param parentNodeId the parent node
* @param assocTypeQName the type of the association to check.
* @param childNames the names of the child nodes (<b>cm:name</b>). These will be matched exactly.
* @param resultsCallback the callback that will be called with the results
*/
@DirtySessionAnnotation(markDirty=false)
public void getChildAssocs(Long parentNodeId, QName assocTypeQName, Collection<String> childNames, ChildAssocRefQueryCallback resultsCallback);
@DirtySessionAnnotation(markDirty=false)
public void getChildAssocsByTypeQNames(
@@ -314,8 +351,7 @@ public interface NodeDaoService
public void getNodesWithAspect(QName aspectQName, Long minNodeId, int count, NodeRefQueryCallback resultsCallback);
/**
* @return Returns an association matching the given parent, type and child name - or null
* if not found
* @return Returns an association matching the given parent, type and child name (<b>cm:name</b>) - or <tt>null</tt> if not found
*/
@DirtySessionAnnotation(markDirty=false)
public Pair<Long, ChildAssociationRef> getChildAssoc(Long parentNodeId, QName assocTypeQName, String childName);