diff --git a/config/alfresco/patch/patch-services-context.xml b/config/alfresco/patch/patch-services-context.xml index e803dfa69a..46b3ed9f11 100644 --- a/config/alfresco/patch/patch-services-context.xml +++ b/config/alfresco/patch/patch-services-context.xml @@ -1053,6 +1053,11 @@ 0 124 125 + + + + + @@ -1632,7 +1637,6 @@ - diff --git a/source/java/org/alfresco/repo/domain/permissions/ADMAccessControlListDAO.java b/source/java/org/alfresco/repo/domain/permissions/ADMAccessControlListDAO.java index 35f9d5090d..a299843a6a 100644 --- a/source/java/org/alfresco/repo/domain/permissions/ADMAccessControlListDAO.java +++ b/source/java/org/alfresco/repo/domain/permissions/ADMAccessControlListDAO.java @@ -158,13 +158,12 @@ public class ADMAccessControlListDAO implements AccessControlListDAO CounterSet result = new CounterSet(); // Do the children first + Acl existingAcl = null; Long aclId = nodeDAO.getNodeAclId(nodeId); - if (aclId == null) + if (aclId != null) { - // TODO: What happens here? It's causing NPEs - throw new IllegalStateException("Null aclId is causing NPEs. Node: " + nodeId); + existingAcl = aclDaoComponent.getAcl(aclId); } - Acl existingAcl = aclDaoComponent.getAcl(aclId); Long toInherit = null; Long idToInheritFrom = null; @@ -189,7 +188,7 @@ public class ADMAccessControlListDAO implements AccessControlListDAO idToInheritFrom = newAcl.getId(); nodeDAO.setNodeAclId(nodeId, idToInheritFrom); } - if (existingAcl.getAclType() == ACLType.SHARED) + else if (existingAcl.getAclType() == ACLType.SHARED) { // nothing to do just cascade into the children - we most likely did a bulk set above. }