Package org.apache.jetspeed.om.folder.psml

Examples of org.apache.jetspeed.om.folder.psml.FolderImpl


        // check for edit access
        pageSecurity.checkAccess(JetspeedActions.EDIT);

        try
        {
            FolderImpl folder = getNodeFolder(Folder.PATH_SEPARATOR);

            // remove page security
            handlerFactory.getDocumentHandler(PageSecurity.DOCUMENT_TYPE).removeDocument(pageSecurity);
           
            // update folder
            ((NodeSetImpl)folder.getAllNodes()).remove(pageSecurity);
           
            // notify page manager listeners
            notifyRemovedNode(pageSecurity);
        }
        catch (FolderNotFoundException fnfe)
View Full Code Here


        try
        {
            // set parent
            boolean newFolder = false;
            FolderImpl parentFolder = null;
            if (!folder.getPath().equals(Folder.PATH_SEPARATOR))
            {
                parentFolder = getNodeFolder(folder.getPath());
                if (folder.getParent() == null)
                {
                    folder.setParent(parentFolder);
                    newFolder = true;
                }
            }
            else
            {
                folder.setParent(null);           
            }
           
            // enable permissions/constraints and configure
            // folder handler before access is checked
            FolderImpl folderImpl = (FolderImpl)folder;
            folderImpl.setPermissionsEnabled(handlerFactory.getPermissionsEnabled());
            folderImpl.setConstraintsEnabled(handlerFactory.getConstraintsEnabled());
            folderImpl.setFolderHandler(folderHandler);
           
            // check for edit access
            folder.checkAccess(JetspeedActions.EDIT);
           
            // update folder
View Full Code Here

        // check for edit access
        folder.checkAccess(JetspeedActions.EDIT);

        try
        {
            FolderImpl parentFolder = null;
            if (!folder.getPath().equals(Folder.PATH_SEPARATOR))
            {
                parentFolder = getNodeFolder(folder.getPath());
            }

            // remove folder
            folderHandler.removeFolder(folder);

            // update parent folder
            if (parentFolder != null)
            {
                ((NodeSetImpl)parentFolder.getAllNodes()).remove(folder);
            }

            // notify page manager listeners
            notifyRemovedNode(folder);
        }
View Full Code Here

        {
            try
            {
                // look for metadata
                FolderMetaDataImpl metadata = (FolderMetaDataImpl) metadataDocHandler.getDocument(path + Folder.PATH_SEPARATOR + FolderMetaDataImpl.DOCUMENT_TYPE);
                folder = new FolderImpl(path, metadata, handlerFactory, this);
            }
            catch (DocumentNotFoundException e)
            {
                // no metadata
                folder = new FolderImpl(path, handlerFactory, this);
            }

            // recursively set parent
            if (!path.equals(Folder.PATH_SEPARATOR))
            {
View Full Code Here

            }
            folder.setPath(path);
        }

        // setup folder implementation
        FolderImpl folderImpl = (FolderImpl)folder;
        folderImpl.setFolderHandler(this);
        folderImpl.setHandlerFactory(handlerFactory);
        folderImpl.setPermissionsEnabled(handlerFactory.getPermissionsEnabled());
        folderImpl.setConstraintsEnabled(handlerFactory.getConstraintsEnabled());
        folderImpl.marshalling();

        // create underlying folder if it does not exist
        File folderFile = new File(documentRootDir, path);
        if ((folderFile.exists() && !folderFile.isDirectory()) || (!folderFile.exists() && !folderFile.mkdir()))
        {
            throw new FailedToUpdateFolderException(folderFile.getAbsolutePath()+" does not exist and cannot be created.");
        }

        // update metadata
        try
        {
            FolderMetaDataImpl metadata = folderImpl.getFolderMetaData();
            metadata.setPath(path + Folder.PATH_SEPARATOR + FolderMetaDataImpl.DOCUMENT_TYPE);
            metadataDocHandler.updateDocument(metadata);
        }
        catch (Exception e)
        {
View Full Code Here

            }
            folder.setPath(path);
        }

        // remove folder nodes
        FolderImpl folderImpl = (FolderImpl)folder;
        try
        {
            // copy all folder nodes to remove
            List removeNodes = new ArrayList();
            Iterator copyIter = folderImpl.getAllNodes().iterator();
            while (copyIter.hasNext())
            {
                removeNodes.add(copyIter.next());
            }
           
            // remove folder nodes
            Iterator removeIter = removeNodes.iterator();
            while (removeIter.hasNext())
            {
                Node node = (Node)removeIter.next();
                if (node instanceof Folder)
                {
                    // recursively remove folder
                    removeFolder((Folder)node);
                }
                else if (node instanceof Document)
                {
                    // remove folder document
                    try
                    {
                        handlerFactory.getDocumentHandler(node.getType()).removeDocument((Document)node);
                    }
                    catch (Exception e)
                    {
                        File documentFile = new File(this.documentRootDir, node.getPath());
                        throw new FailedToDeleteFolderException(documentFile.getAbsolutePath()+" document cannot be deleted.");
                    }
                }
                ((NodeSetImpl)folderImpl.getAllNodes()).remove(node);
            }
        }
        catch (FailedToDeleteFolderException fdfe)
        {
            throw fdfe;
        }
        catch (Exception e)
        {
            throw new FailedToDeleteFolderException(e.getMessage());
        }

        // remove underlying folder and unknown files
        File folderFile = new File(this.documentRootDir, path);
        File metadataFile = null;
        if ((folderImpl.getFolderMetaData() != null) && (folderImpl.getFolderMetaData().getPath() != null))
        {
            metadataFile = new File(this.documentRootDir, folderImpl.getFolderMetaData().getPath());
        }
        if (folderFile.exists() && folderFile.isDirectory())
        {
            // attempt to clean folder for delete
            String[] contents = folderFile.list();
            for (int i = 0; (i < contents.length); i++)
            {
                File contentFile = new File(folderFile, contents[i]);
                if ((metadataFile == null) || !contentFile.equals(metadataFile))
                {
                    if (!deleteFile(contentFile))
                    {
                        throw new FailedToDeleteFolderException(folderFile.getAbsolutePath()+" unrecognized folder contents cannot be deleted.");
                    }
                }
            }
            // delete folder and metadata
            if ((metadataFile != null) && metadataFile.exists() && !metadataFile.delete())
            {
                throw new FailedToDeleteFolderException(folderFile.getAbsolutePath()+" folder metadata cannot be deleted.");
            }
            // delete folder and all remaining folder contents
            // unless folder is root folder which should be
            // preserved as PSML "mount point"
            if (!path.equals(Folder.PATH_SEPARATOR) && !folderFile.delete())
            {
                throw new FailedToDeleteFolderException(folderFile.getAbsolutePath()+" folder cannot be deleted.");
            }
        }
        else
        {
            throw new FailedToDeleteFolderException(folderFile.getAbsolutePath()+" not found.");
        }

        // remove from cache
        fileCache.remove(path);

        // reset folder
        if (folderImpl.getFolderMetaData() != null)
        {
            folderImpl.getFolderMetaData().setParent(null);
        }
        folderImpl.setParent(null);
        folderImpl.reset();
    }
View Full Code Here

        {
            try
            {
                // look for metadata
                FolderMetaDataImpl metadata = (FolderMetaDataImpl) metadataDocHandler.getDocument(path + Folder.PATH_SEPARATOR + FolderMetaDataImpl.DOCUMENT_TYPE);
                folder = new FolderImpl(path, metadata, handlerFactory, this);
            }
            catch (DocumentNotFoundException e)
            {
                // no metadata
                folder = new FolderImpl(path, handlerFactory, this);
            }

            // recursively set parent
            if (!path.equals(Folder.PATH_SEPARATOR))
            {
View Full Code Here

            }
            folder.setPath(path);
        }

        // setup folder implementation
        FolderImpl folderImpl = (FolderImpl)folder;
        folderImpl.setFolderHandler(this);
        folderImpl.setHandlerFactory(handlerFactory);
        folderImpl.setPermissionsEnabled(handlerFactory.getPermissionsEnabled());
        folderImpl.setConstraintsEnabled(handlerFactory.getConstraintsEnabled());
        folderImpl.marshalling();

        // create underlying folder if it does not exist
        File folderFile = new File(documentRootDir, path);
        if ((folderFile.exists() && !folderFile.isDirectory()) || (!folderFile.exists() && !folderFile.mkdir()))
        {
            throw new FailedToUpdateFolderException(folderFile.getAbsolutePath()+" does not exist and cannot be created.");
        }

        // update metadata
        try
        {
            FolderMetaDataImpl metadata = folderImpl.getFolderMetaData();
            metadata.setPath(path + Folder.PATH_SEPARATOR + FolderMetaDataImpl.DOCUMENT_TYPE);
            metadataDocHandler.updateDocument(metadata);
        }
        catch (Exception e)
        {
View Full Code Here

            }
            folder.setPath(path);
        }

        // remove folder nodes
        FolderImpl folderImpl = (FolderImpl)folder;
        try
        {
            // copy all folder nodes to remove
            List removeNodes = new ArrayList();
            Iterator copyIter = folderImpl.getAllNodes().iterator();
            while (copyIter.hasNext())
            {
                removeNodes.add(copyIter.next());
            }
           
            // remove folder nodes
            Iterator removeIter = removeNodes.iterator();
            while (removeIter.hasNext())
            {
                Node node = (Node)removeIter.next();
                if (node instanceof Folder)
                {
                    // recursively remove folder
                    removeFolder((Folder)node);
                }
                else if (node instanceof Document)
                {
                    // remove folder document
                    try
                    {
                        handlerFactory.getDocumentHandler(node.getType()).removeDocument((Document)node);
                    }
                    catch (Exception e)
                    {
                        File documentFile = new File(this.documentRootDir, node.getPath());
                        throw new FailedToDeleteFolderException(documentFile.getAbsolutePath()+" document cannot be deleted.");
                    }
                }
                ((NodeSetImpl)folderImpl.getAllNodes()).remove(node);
            }
        }
        catch (FailedToDeleteFolderException fdfe)
        {
            throw fdfe;
        }
        catch (Exception e)
        {
            throw new FailedToDeleteFolderException(e.getMessage());
        }

        // remove underlying folder and unknown files
        File folderFile = new File(this.documentRootDir, path);
        File metadataFile = null;
        if ((folderImpl.getFolderMetaData() != null) && (folderImpl.getFolderMetaData().getPath() != null))
        {
            metadataFile = new File(this.documentRootDir, folderImpl.getFolderMetaData().getPath());
        }
        if (folderFile.exists() && folderFile.isDirectory())
        {
            // attempt to clean folder for delete
            String[] contents = folderFile.list();
            for (int i = 0; (i < contents.length); i++)
            {
                File contentFile = new File(folderFile, contents[i]);
                if ((metadataFile == null) || !contentFile.equals(metadataFile))
                {
                    if (!deleteFile(contentFile))
                    {
                        throw new FailedToDeleteFolderException(folderFile.getAbsolutePath()+" unrecognized folder contents cannot be deleted.");
                    }
                }
            }
            // delete folder and metadata
            if ((metadataFile != null) && metadataFile.exists() && !metadataFile.delete())
            {
                throw new FailedToDeleteFolderException(folderFile.getAbsolutePath()+" folder metadata cannot be deleted.");
            }
            // delete folder and all remaining folder contents
            // unless folder is root folder which should be
            // preserved as PSML "mount point"
            if (!path.equals(Folder.PATH_SEPARATOR) && !folderFile.delete())
            {
                throw new FailedToDeleteFolderException(folderFile.getAbsolutePath()+" folder cannot be deleted.");
            }
        }
        else
        {
            throw new FailedToDeleteFolderException(folderFile.getAbsolutePath()+" not found.");
        }

        // remove from cache
        fileCache.remove(path);

        // reset folder
        if (folderImpl.getFolderMetaData() != null)
        {
            folderImpl.getFolderMetaData().setParent(null);
        }
        folderImpl.setParent(null);
        folderImpl.reset();
    }
View Full Code Here

    public Page getPage(String path) throws PageNotFoundException, NodeException
    {
        // get page via folder, (access checked in Folder.getPage())
        try
        {
            FolderImpl folder = getNodeFolder(path);
            return folder.getPage(getNodeName(path));
        }
        catch (FolderNotFoundException fnfe)
        {
            throw new PageNotFoundException(fnfe.getMessage());
        }
View Full Code Here

TOP

Related Classes of org.apache.jetspeed.om.folder.psml.FolderImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.