Fix ALF-1006 - problems with tag scope on share Wiki pages

The tagging service and checkout/checkin weren't quite playing nicely
 together due to the way the copy policy was being triggered. A new
 "before copy" policy was added, to complement the "on copy complete"
 policy, and the tagging service updated to use this.
A tagging test which calls checkout/checkin was added that verifies
 that the tag scopes now behave correctly under this action.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19692 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Nick Burch
2010-03-31 12:10:23 +00:00
parent 68fe76a3b5
commit bc484918c0
4 changed files with 143 additions and 14 deletions

View File

@@ -119,6 +119,28 @@ public interface CopyServicePolicies
static Arg ARG_1 = Arg.KEY;
}
/**
* The intermediate copy callback, which occurs once it has been decided which properties
* and aspects will be copied, but before the copy occurs.
* This allows you to remove cached data based on the destination node, before it is
* overwritten. You are unable to make changes to what gets copied though, that must
* be done earlier via a {@link OnCopyNodePolicy}.
*/
public interface BeforeCopyPolicy extends ClassPolicy
{
public static final QName QNAME = QName.createQName(NamespaceService.ALFRESCO_URI, "beforeCopy");
/**
* @param classRef the type of the node that will be copied
* @param sourceNodeRef the original node
* @param targetNodeRef the destination node
*/
public void beforeCopy(
QName classRef,
NodeRef sourceNodeRef,
NodeRef targetNodeRef);
}
/**
* Final callback after the copy (including any cascading) has been completed. This should
* be used where post-copy manipulation of nodes is required in order to enforce adherence
@@ -133,7 +155,7 @@ public interface CopyServicePolicies
/**
* @param classRef the type of the node that was copied
* @param sourceNodeRef the origional node
* @param sourceNodeRef the original node
* @param targetNodeRef the destination node
* @param copyMap a map containing all the nodes that have been created during the copy
*/
@@ -143,8 +165,5 @@ public interface CopyServicePolicies
NodeRef targetNodeRef,
boolean copyToNewNode,
Map<NodeRef, NodeRef> copyMap);
static Arg ARG_0 = Arg.KEY;
static Arg ARG_1 = Arg.KEY;
}
}