try
{
// set parent
boolean newPageSecurity = false;
FolderImpl parentFolder = getNodeFolder(Folder.PATH_SEPARATOR);
if (pageSecurity.getParent() == null)
{
pageSecurity.setParent(parentFolder);
newPageSecurity = true;
}
// enable permissions/constraints
PageSecurityImpl pageSecurityImpl = (PageSecurityImpl)pageSecurity;
pageSecurityImpl.setPermissionsEnabled(handlerFactory.getPermissionsEnabled());
pageSecurityImpl.setConstraintsEnabled(handlerFactory.getConstraintsEnabled());
// check for edit access
pageSecurity.checkAccess(JetspeedActions.EDIT);
// update pageSecurity
handlerFactory.getDocumentHandler(PageSecurity.DOCUMENT_TYPE).updateDocument(pageSecurity);
// update parent folder
if (parentFolder != null)
{
NodeSetImpl parentAllNodes = (NodeSetImpl)parentFolder.getAllNodes();
if (!parentAllNodes.contains(pageSecurity))
{
// add new page security
parentAllNodes.add(pageSecurity);
newPageSecurity = true;