private void aclMetadataRefresh( long aclChangesCount ) { // we have a session that has added and/or removed ACLs from nodes, so we need to reflect this in the repository // metadata MutableCachedNode systemNode = systemContent.mutableSystemNode(); org.modeshape.jcr.value.Property aclCount = systemNode.getProperty(ModeShapeLexicon.ACL_COUNT, systemCache); if (aclCount == null && aclChangesCount > 0) { systemNode.setProperty(systemCache, propertyFactory().create(ModeShapeLexicon.ACL_COUNT, aclChangesCount)); repository().repositoryCache().setAccessControlEnabled(true); } else if (aclCount != null) { long newCount = Long.valueOf(aclCount.getFirstValue().toString()) + aclChangesCount; if (newCount < 0) { newCount = 0; } if (newCount == 0) { repository().repositoryCache().setAccessControlEnabled(false); } systemNode.setProperty(systemCache, propertyFactory().create(ModeShapeLexicon.ACL_COUNT, newCount)); } }
private void aclMetadataRefresh( long aclChangesCount ) { // we have a session that has added and/or removed ACLs from nodes, so we need to reflect this in the repository // metadata MutableCachedNode systemNode = systemContent.mutableSystemNode(); org.modeshape.jcr.value.Property aclCount = systemNode.getProperty(ModeShapeLexicon.ACL_COUNT, systemCache); if (aclCount == null && aclChangesCount > 0) { systemNode.setProperty(systemCache, propertyFactory().create(ModeShapeLexicon.ACL_COUNT, aclChangesCount)); repository().repositoryCache().setAccessControlEnabled(true); } else if (aclCount != null) { long newCount = Long.valueOf(aclCount.getFirstValue().toString()) + aclChangesCount; if (newCount < 0) { newCount = 0; } if (newCount == 0) { repository().repositoryCache().setAccessControlEnabled(false); } systemNode.setProperty(systemCache, propertyFactory().create(ModeShapeLexicon.ACL_COUNT, newCount)); } }
SessionCache systemSession = runningState.createSystemSession(context, false); SystemContent systemContent = new SystemContent(systemSession); MutableCachedNode systemNode = systemContent.mutableSystemNode(); systemNode.setProperty(systemSession, context.getPropertyFactory().create(ModeShapeLexicon.ACL_COUNT, nodesWithAccessControl)); systemSession.save();
SessionCache systemSession = runningState.createSystemSession(context, false); SystemContent systemContent = new SystemContent(systemSession); MutableCachedNode systemNode = systemContent.mutableSystemNode(); systemNode.setProperty(systemSession, context.getPropertyFactory().create(ModeShapeLexicon.ACL_COUNT, nodesWithAccessControl)); systemSession.save();
MutableCachedNode systemNode = systemContent.mutableSystemNode(); systemNode.removeProperty(systemSession, ModeShapeLexicon.ACL_COUNT); systemSession.save(); MutableCachedNode systemNode = systemContent.mutableSystemNode(); Property aclCountProp = systemNode.getProperty(ModeShapeLexicon.ACL_COUNT, systemSession); assertNotNull("ACL count property not found after upgrade", aclCountProp);