org.apache.jetspeed.page.psml
Class CastorXmlPageManager

java.lang.Object
  extended by org.apache.jetspeed.page.AbstractPageManager
      extended by org.apache.jetspeed.page.psml.CastorXmlPageManager
All Implemented Interfaces:
org.apache.jetspeed.cache.file.FileCacheEventListener, org.apache.jetspeed.page.PageManager

public class CastorXmlPageManager
extends AbstractPageManager
implements org.apache.jetspeed.page.PageManager, org.apache.jetspeed.cache.file.FileCacheEventListener

This service is responsible for loading and saving PSML pages serialized to disk

Version:
$Id: CastorXmlPageManager.java 516448 2007-03-09 16:25:47Z ate $
Author:
Rapha?l Luta , Scott T Weaver

Field Summary
private  org.apache.jetspeed.cache.file.FileCache fileCache
           
private  org.apache.jetspeed.page.document.FolderHandler folderHandler
           
private  org.apache.jetspeed.idgenerator.IdGenerator generator
           
private  org.apache.jetspeed.page.document.DocumentHandlerFactory handlerFactory
           
private static org.apache.commons.logging.Log log
           
private static Map modelClasses
           
 
Fields inherited from class org.apache.jetspeed.page.AbstractPageManager
folderClass, folderMenuDefinitionClass, folderMenuExcludeDefinitionClass, folderMenuIncludeDefinitionClass, folderMenuOptionsDefinitionClass, folderMenuSeparatorDefinitionClass, folderSecurityConstraintClass, fragmentClass, fragmentPreferenceClass, fragmentSecurityConstraintClass, linkClass, linkSecurityConstraintClass, pageClass, pageMenuDefinitionClass, pageMenuExcludeDefinitionClass, pageMenuIncludeDefinitionClass, pageMenuOptionsDefinitionClass, pageMenuSeparatorDefinitionClass, pageSecurityClass, pageSecurityConstraintClass, pageSecuritySecurityConstraintClass, propertyClass, securityConstraintsClass, securityConstraintsDefClass
 
Fields inherited from interface org.apache.jetspeed.page.PageManager
SERVICE_NAME
 
Constructor Summary
CastorXmlPageManager(org.apache.jetspeed.idgenerator.IdGenerator generator, org.apache.jetspeed.page.document.DocumentHandlerFactory handlerFactory, org.apache.jetspeed.page.document.FolderHandler folderHandler, org.apache.jetspeed.cache.file.FileCache fileCache, boolean permissionsEnabled, boolean constraintsEnabled)
           
 
Method Summary
 int addPages(org.apache.jetspeed.om.page.Page[] pages)
           
 boolean checkConstraint(String securityConstraintName, String actions)
           
 org.apache.jetspeed.om.page.Page copy(org.apache.jetspeed.om.page.Page source)
           
 void evict(org.apache.jetspeed.cache.file.FileCacheEntry entry)
           evict file cache entry
 org.apache.jetspeed.page.document.NodeSet getAll(org.apache.jetspeed.om.folder.Folder folder)
           
 org.apache.jetspeed.om.page.ContentPage getContentPage(String path)
           
 org.apache.jetspeed.om.folder.Folder getFolder(org.apache.jetspeed.om.folder.Folder folder, String name)
           
 org.apache.jetspeed.om.folder.Folder getFolder(String folderPath)
           getFolder
 org.apache.jetspeed.page.document.NodeSet getFolders(org.apache.jetspeed.om.folder.Folder folder)
           
 org.apache.jetspeed.om.page.Link getLink(org.apache.jetspeed.om.folder.Folder folder, String name)
           
 org.apache.jetspeed.om.page.Link getLink(String path)
           getLink
 org.apache.jetspeed.page.document.NodeSet getLinks(org.apache.jetspeed.om.folder.Folder folder)
           
private  FolderImpl getNodeFolder(String nodePath)
           getNodeFolder - get folder implementation associated with specifed path
private  String getNodeName(String nodePath)
           getNodeFolder - get name of node from specified path
 org.apache.jetspeed.om.page.Page getPage(org.apache.jetspeed.om.folder.Folder folder, String name)
           
 org.apache.jetspeed.om.page.Page getPage(String path)
           getPage
 org.apache.jetspeed.page.document.NodeSet getPages(org.apache.jetspeed.om.folder.Folder folder)
           
 org.apache.jetspeed.om.page.PageSecurity getPageSecurity()
           getPageSecurity
 org.apache.jetspeed.om.page.PageSecurity getPageSecurity(org.apache.jetspeed.om.folder.Folder folder)
           
 org.apache.jetspeed.om.page.Fragment newFragment()
           newFragment
 org.apache.jetspeed.om.page.Fragment newPortletFragment()
           
 void refresh(org.apache.jetspeed.cache.file.FileCacheEntry entry)
           refresh file cache entry
 void removeFolder(org.apache.jetspeed.om.folder.Folder folder)
           removeFolder
 void removeLink(org.apache.jetspeed.om.page.Link link)
           removeLink
 void removePage(org.apache.jetspeed.om.page.Page page)
           removePage
 void removePageSecurity(org.apache.jetspeed.om.page.PageSecurity pageSecurity)
           
 void reset()
           
 void updateFolder(org.apache.jetspeed.om.folder.Folder folder)
           updateFolder
 void updateFolder(org.apache.jetspeed.om.folder.Folder folder, boolean deep)
           
private  void updateFolderNodes(FolderImpl folderImpl)
          updateFolderNodes - recusively update all folder nodes
 void updateLink(org.apache.jetspeed.om.page.Link link)
           updateLink
 void updatePage(org.apache.jetspeed.om.page.Page page)
           updatePage
 void updatePageSecurity(org.apache.jetspeed.om.page.PageSecurity pageSecurity)
           
 
Methods inherited from class org.apache.jetspeed.page.AbstractPageManager
addListener, copyConstraint, copyFolder, copyFragment, copyLink, copyMenuDefinitions, copyMenuElement, copyPage, copyPageSecurity, copySecurityConstraints, createUserHomePagesFromRoles, deepCopyFolder, folderExists, getConstraintsEnabled, getPermissionsEnabled, getUserFolder, getUserPage, linkExists, newFolder, newFolderMenuDefinition, newFolderMenuExcludeDefinition, newFolderMenuIncludeDefinition, newFolderMenuOptionsDefinition, newFolderMenuSeparatorDefinition, newFolderSecurityConstraint, newFragmentPreference, newFragmentSecurityConstraint, newLink, newLinkSecurityConstraint, newPage, newPageMenuDefinition, newPageMenuExcludeDefinition, newPageMenuIncludeDefinition, newPageMenuOptionsDefinition, newPageMenuSeparatorDefinition, newPageSecurity, newPageSecurityConstraint, newPageSecuritySecurityConstraint, newSecurityConstraints, newSecurityConstraintsDef, notifyNewNode, notifyRemovedNode, notifyUpdatedNode, pageExists, removeListener, userFolderExists, userPageExists
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jetspeed.page.PageManager
addListener, copyFolder, copyFragment, copyLink, copyPage, copyPageSecurity, createUserHomePagesFromRoles, deepCopyFolder, folderExists, getConstraintsEnabled, getPermissionsEnabled, getUserFolder, getUserPage, linkExists, newFolder, newFolderMenuDefinition, newFolderMenuExcludeDefinition, newFolderMenuIncludeDefinition, newFolderMenuOptionsDefinition, newFolderMenuSeparatorDefinition, newFolderSecurityConstraint, newFragmentPreference, newFragmentSecurityConstraint, newLink, newLinkSecurityConstraint, newPage, newPageMenuDefinition, newPageMenuExcludeDefinition, newPageMenuIncludeDefinition, newPageMenuOptionsDefinition, newPageMenuSeparatorDefinition, newPageSecurity, newPageSecurityConstraint, newPageSecuritySecurityConstraint, newSecurityConstraints, newSecurityConstraintsDef, pageExists, removeListener, userFolderExists, userPageExists
 

Field Detail

log

private static final org.apache.commons.logging.Log log

modelClasses

private static Map modelClasses

generator

private org.apache.jetspeed.idgenerator.IdGenerator generator

handlerFactory

private org.apache.jetspeed.page.document.DocumentHandlerFactory handlerFactory

folderHandler

private org.apache.jetspeed.page.document.FolderHandler folderHandler

fileCache

private org.apache.jetspeed.cache.file.FileCache fileCache
Constructor Detail

CastorXmlPageManager

public CastorXmlPageManager(org.apache.jetspeed.idgenerator.IdGenerator generator,
                            org.apache.jetspeed.page.document.DocumentHandlerFactory handlerFactory,
                            org.apache.jetspeed.page.document.FolderHandler folderHandler,
                            org.apache.jetspeed.cache.file.FileCache fileCache,
                            boolean permissionsEnabled,
                            boolean constraintsEnabled)
                     throws FileNotFoundException
Throws:
FileNotFoundException
Method Detail

newFragment

public org.apache.jetspeed.om.page.Fragment newFragment()

newFragment

Specified by:
newFragment in interface org.apache.jetspeed.page.PageManager
Overrides:
newFragment in class AbstractPageManager
Returns:
fragment
See Also:
PageManager.newFragment()

newPortletFragment

public org.apache.jetspeed.om.page.Fragment newPortletFragment()
Specified by:
newPortletFragment in interface org.apache.jetspeed.page.PageManager
Overrides:
newPortletFragment in class AbstractPageManager

getPage

public org.apache.jetspeed.om.page.Page getPage(String path)
                                         throws org.apache.jetspeed.page.PageNotFoundException,
                                                org.apache.jetspeed.page.document.NodeException

getPage

Specified by:
getPage in interface org.apache.jetspeed.page.PageManager
Parameters:
path -
Returns:
page
Throws:
org.apache.jetspeed.page.PageNotFoundException
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.om.folder.FolderNotFoundException
See Also:
PageManager.getPage(java.lang.String)

updatePage

public void updatePage(org.apache.jetspeed.om.page.Page page)
                throws org.apache.jetspeed.page.document.NodeException

updatePage

Specified by:
updatePage in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
See Also:
org.apache.jetspeed.services.page.PageManagerService#updatePage(org.apache.jetspeed.om.page.Page)

removePage

public void removePage(org.apache.jetspeed.om.page.Page page)
                throws org.apache.jetspeed.page.document.NodeException

removePage

Specified by:
removePage in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
See Also:
org.apache.jetspeed.services.page.PageManagerService#removePage(org.apache.jetspeed.om.page.Page)

getLink

public org.apache.jetspeed.om.page.Link getLink(String path)
                                         throws org.apache.jetspeed.page.document.DocumentNotFoundException,
                                                org.apache.jetspeed.page.document.UnsupportedDocumentTypeException,
                                                org.apache.jetspeed.page.document.NodeException

getLink

Specified by:
getLink in interface org.apache.jetspeed.page.PageManager
Parameters:
path -
Returns:
link
Throws:
org.apache.jetspeed.page.document.DocumentNotFoundException
org.apache.jetspeed.page.document.UnsupportedDocumentTypeException
org.apache.jetspeed.page.document.NodeException
See Also:
PageManager.getLink(java.lang.String)

updateLink

public void updateLink(org.apache.jetspeed.om.page.Link link)
                throws org.apache.jetspeed.page.document.NodeException

updateLink

Specified by:
updateLink in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
See Also:
org.apache.jetspeed.services.page.PageManagerService#updateLink(org.apache.jetspeed.om.page.Link)

removeLink

public void removeLink(org.apache.jetspeed.om.page.Link link)
                throws org.apache.jetspeed.page.document.NodeException

removeLink

Specified by:
removeLink in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
See Also:
org.apache.jetspeed.services.page.PageManagerService#removeLink(org.apache.jetspeed.om.page.Link)

checkConstraint

public boolean checkConstraint(String securityConstraintName,
                               String actions)
Specified by:
checkConstraint in interface org.apache.jetspeed.page.PageManager

getPageSecurity

public org.apache.jetspeed.om.page.PageSecurity getPageSecurity()
                                                         throws org.apache.jetspeed.page.document.DocumentNotFoundException,
                                                                org.apache.jetspeed.page.document.UnsupportedDocumentTypeException,
                                                                org.apache.jetspeed.page.document.NodeException

getPageSecurity

Specified by:
getPageSecurity in interface org.apache.jetspeed.page.PageManager
Returns:
page security instance
Throws:
org.apache.jetspeed.page.document.DocumentNotFoundException
org.apache.jetspeed.page.document.UnsupportedDocumentTypeException
org.apache.jetspeed.page.document.NodeException
See Also:
PageManager.getPageSecurity()

updatePageSecurity

public void updatePageSecurity(org.apache.jetspeed.om.page.PageSecurity pageSecurity)
                        throws org.apache.jetspeed.page.document.NodeException,
                               org.apache.jetspeed.page.document.FailedToUpdateDocumentException
Specified by:
updatePageSecurity in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.page.document.FailedToUpdateDocumentException

removePageSecurity

public void removePageSecurity(org.apache.jetspeed.om.page.PageSecurity pageSecurity)
                        throws org.apache.jetspeed.page.document.NodeException,
                               org.apache.jetspeed.page.document.FailedToDeleteDocumentException
Specified by:
removePageSecurity in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.page.document.FailedToDeleteDocumentException

getFolder

public org.apache.jetspeed.om.folder.Folder getFolder(String folderPath)
                                               throws org.apache.jetspeed.om.folder.FolderNotFoundException,
                                                      org.apache.jetspeed.om.folder.InvalidFolderException,
                                                      org.apache.jetspeed.page.document.NodeException

getFolder

Specified by:
getFolder in interface org.apache.jetspeed.page.PageManager
Parameters:
folderPath -
Returns:
folder instance
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.om.folder.InvalidFolderException
See Also:
PageManager.getFolder(java.lang.String)

getFolders

public org.apache.jetspeed.page.document.NodeSet getFolders(org.apache.jetspeed.om.folder.Folder folder)
                                                     throws org.apache.jetspeed.page.document.DocumentException
Specified by:
getFolders in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.DocumentException

getFolder

public org.apache.jetspeed.om.folder.Folder getFolder(org.apache.jetspeed.om.folder.Folder folder,
                                                      String name)
                                               throws org.apache.jetspeed.om.folder.FolderNotFoundException,
                                                      org.apache.jetspeed.page.document.DocumentException
Specified by:
getFolder in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
org.apache.jetspeed.page.document.DocumentException

getPages

public org.apache.jetspeed.page.document.NodeSet getPages(org.apache.jetspeed.om.folder.Folder folder)
                                                   throws org.apache.jetspeed.page.document.NodeException
Specified by:
getPages in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException

getPage

public org.apache.jetspeed.om.page.Page getPage(org.apache.jetspeed.om.folder.Folder folder,
                                                String name)
                                         throws org.apache.jetspeed.page.PageNotFoundException,
                                                org.apache.jetspeed.page.document.NodeException
Specified by:
getPage in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.PageNotFoundException
org.apache.jetspeed.page.document.NodeException

getLinks

public org.apache.jetspeed.page.document.NodeSet getLinks(org.apache.jetspeed.om.folder.Folder folder)
                                                   throws org.apache.jetspeed.page.document.NodeException
Specified by:
getLinks in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException

getLink

public org.apache.jetspeed.om.page.Link getLink(org.apache.jetspeed.om.folder.Folder folder,
                                                String name)
                                         throws org.apache.jetspeed.page.document.DocumentNotFoundException,
                                                org.apache.jetspeed.page.document.NodeException
Specified by:
getLink in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.DocumentNotFoundException
org.apache.jetspeed.page.document.NodeException

getPageSecurity

public org.apache.jetspeed.om.page.PageSecurity getPageSecurity(org.apache.jetspeed.om.folder.Folder folder)
                                                         throws org.apache.jetspeed.page.document.DocumentNotFoundException,
                                                                org.apache.jetspeed.page.document.NodeException
Specified by:
getPageSecurity in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.DocumentNotFoundException
org.apache.jetspeed.page.document.NodeException

getAll

public org.apache.jetspeed.page.document.NodeSet getAll(org.apache.jetspeed.om.folder.Folder folder)
                                                 throws org.apache.jetspeed.page.document.DocumentException
Specified by:
getAll in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.DocumentException

updateFolder

public void updateFolder(org.apache.jetspeed.om.folder.Folder folder)
                  throws org.apache.jetspeed.page.document.NodeException,
                         org.apache.jetspeed.page.FolderNotUpdatedException

updateFolder

Specified by:
updateFolder in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.page.FolderNotUpdatedException
See Also:
org.apache.jetspeed.services.page.PageManagerService#updateFolder(org.apache.jetspeed.om.folder.Folder)

updateFolder

public void updateFolder(org.apache.jetspeed.om.folder.Folder folder,
                         boolean deep)
                  throws org.apache.jetspeed.page.document.NodeException,
                         org.apache.jetspeed.page.FolderNotUpdatedException
Specified by:
updateFolder in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.page.FolderNotUpdatedException

updateFolderNodes

private void updateFolderNodes(FolderImpl folderImpl)
                        throws org.apache.jetspeed.page.FolderNotUpdatedException
updateFolderNodes - recusively update all folder nodes

Parameters:
folderImpl - folder whose nodes are to be updated
throws - FolderNotUpdatedException
Throws:
org.apache.jetspeed.page.FolderNotUpdatedException

removeFolder

public void removeFolder(org.apache.jetspeed.om.folder.Folder folder)
                  throws org.apache.jetspeed.page.document.NodeException

removeFolder

Specified by:
removeFolder in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException
See Also:
org.apache.jetspeed.services.page.PageManagerService#removeFolder(org.apache.jetspeed.om.folder.Folder)

reset

public void reset()
Specified by:
reset in interface org.apache.jetspeed.page.PageManager
Overrides:
reset in class AbstractPageManager

getNodeFolder

private FolderImpl getNodeFolder(String nodePath)
                          throws org.apache.jetspeed.page.document.NodeException,
                                 org.apache.jetspeed.om.folder.InvalidFolderException,
                                 org.apache.jetspeed.om.folder.FolderNotFoundException

getNodeFolder - get folder implementation associated with specifed path

Parameters:
nodePath -
Returns:
folder impl instance
Throws:
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.om.folder.InvalidFolderException
org.apache.jetspeed.om.folder.FolderNotFoundException

getNodeName

private String getNodeName(String nodePath)

getNodeFolder - get name of node from specified path

Parameters:
nodePath -
Returns:
name of node

refresh

public void refresh(org.apache.jetspeed.cache.file.FileCacheEntry entry)
             throws Exception

refresh file cache entry

Specified by:
refresh in interface org.apache.jetspeed.cache.file.FileCacheEventListener
Parameters:
entry -
Throws:
Exception
See Also:
FileCacheEventListener.refresh(org.apache.jetspeed.cache.file.FileCacheEntry)

evict

public void evict(org.apache.jetspeed.cache.file.FileCacheEntry entry)
           throws Exception

evict file cache entry

Specified by:
evict in interface org.apache.jetspeed.cache.file.FileCacheEventListener
Parameters:
entry -
Throws:
Exception
See Also:
FileCacheEventListener.evict(org.apache.jetspeed.cache.file.FileCacheEntry)

getContentPage

public org.apache.jetspeed.om.page.ContentPage getContentPage(String path)
                                                       throws org.apache.jetspeed.page.PageNotFoundException,
                                                              org.apache.jetspeed.page.document.NodeException
Specified by:
getContentPage in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.PageNotFoundException
org.apache.jetspeed.page.document.NodeException

copy

public org.apache.jetspeed.om.page.Page copy(org.apache.jetspeed.om.page.Page source)

addPages

public int addPages(org.apache.jetspeed.om.page.Page[] pages)
             throws org.apache.jetspeed.page.document.NodeException
Specified by:
addPages in interface org.apache.jetspeed.page.PageManager
Throws:
org.apache.jetspeed.page.document.NodeException


Copyright © 1999-2007 Apache Software Foundation. All Rights Reserved.