Author: tolusha
Date: 2009-12-15 10:36:28 -0500 (Tue, 15 Dec 2009)
New Revision: 1067
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
Log:
EXOJCR-318: validate mandatory items for MixinChanged state
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2009-12-15
15:08:42 UTC (rev 1066)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2009-12-15
15:36:28 UTC (rev 1067)
@@ -1224,6 +1224,7 @@
+ " has wrong formed ACL.");
}
}
+ validateMandatoryItem(itemState);
}
}
else
@@ -1328,7 +1329,7 @@
*/
private void validateMandatoryItem(ItemState changedItem) throws
ConstraintViolationException, AccessDeniedException
{
- if (changedItem.getData().isNode() && changedItem.isAdded()
+ if (changedItem.getData().isNode() && (changedItem.isAdded() ||
changedItem.isMixinChanged())
&&
!changesLog.getItemState(changedItem.getData().getQPath()).isDeleted())
{
// Node not in delete state. It might be a wrong