Fixed AR-626: Default aspects not being checked for.

- The NodeService was preventing the removal of required aspects
 - This is now enforced by integrity


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-06-05 15:01:25 +00:00
parent 853e7d6cf1
commit 7c17d38207
4 changed files with 136 additions and 19 deletions

View File

@@ -278,19 +278,23 @@ public class IntegrityChecker
*/
public void onCreateNode(ChildAssociationRef childAssocRef)
{
NodeRef childRef = childAssocRef.getChildRef();
IntegrityEvent event = null;
// check properties on child node
event = new PropertiesIntegrityEvent(
nodeService,
dictionaryService,
childAssocRef.getChildRef());
childRef);
save(event);
// check that the multiplicity and other properties of the new association are allowed
onCreateChildAssociation(childAssocRef);
// check mandatory aspects
event = new AspectsIntegrityEvent(nodeService, dictionaryService, childRef);
save(event);
// check for associations defined on the new node (child)
NodeRef childRef = childAssocRef.getChildRef();
QName childNodeTypeQName = nodeService.getType(childRef);
ClassDefinition nodeTypeDef = dictionaryService.getClass(childNodeTypeQName);
if (nodeTypeDef == null)
@@ -370,10 +374,15 @@ public class IntegrityChecker
}
/**
* No checking performed: The property changes will be handled
* @see AspectsIntegrityEvent
*/
public void onRemoveAspect(NodeRef nodeRef, QName aspectTypeQName)
{
IntegrityEvent event = null;
// check mandatory aspects
event = new AspectsIntegrityEvent(nodeService, dictionaryService, nodeRef);
save(event);
}
/**