rwatler     2005/01/14 22:08:34

  Modified:    components/page-manager/src/java/org/apache/jetspeed/page/impl
                        CastorXmlPageManager.java
  Log:
  support hidden page, folder, link, and document set attribute by filtering 
from navigation elements
  
  Revision  Changes    Path
  1.25      +43 -21    
jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/impl/CastorXmlPageManager.java
  
  Index: CastorXmlPageManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/impl/CastorXmlPageManager.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- CastorXmlPageManager.java 26 Nov 2004 18:52:37 -0000      1.24
  +++ CastorXmlPageManager.java 15 Jan 2005 06:08:34 -0000      1.25
  @@ -233,8 +233,8 @@
                   page = (Page) setProfiledNodePathAndUrl((AbstractNode) 
profiledPage[0]);
               }
   
  -            // profile page context
  -            if (page != null)
  +            // profile page context if page and folder found
  +            if ((page != null) && (folder != null))
               {
                   // profile general document/folder order
                   List documentOrder = null;
  @@ -265,7 +265,11 @@
                       Iterator aggregatePagesIter = aggregatePages.iterator();
                       while (aggregatePagesIter.hasNext())
                       {
  -                        siblingPages = 
addUniqueOrDescribedUrlNode((NodeSetImpl) siblingPages, 
setProfiledNodePathAndUrl((AbstractNode) aggregatePagesIter.next()));
  +                        AbstractNode siblingPageNode = 
(AbstractNode)aggregatePagesIter.next();
  +                        if (!siblingPageNode.isHidden())
  +                        {
  +                            siblingPages = 
addUniqueOrDescribedUrlNode((NodeSetImpl)siblingPages, 
setProfiledNodePathAndUrl(siblingPageNode));
  +                        }
                       }
                   }
   
  @@ -273,7 +277,11 @@
                   if ((((AbstractNode)folder).getParent(false) != null) &&
                       
!((AbstractNode)folder).getProfiledPath().equals(Folder.PATH_SEPARATOR))
                   {
  -                    parentFolder = 
(Folder)setProfiledNodePathAndUrl((AbstractNode)((AbstractNode)folder).getParent(false));
  +                    AbstractNode parentFolderNode = 
(AbstractNode)((AbstractNode)folder).getParent(false);
  +                    if (!parentFolderNode.isHidden())
  +                    {
  +                        parentFolder = 
(Folder)setProfiledNodePathAndUrl(parentFolderNode);
  +                    }
                   }
   
                   // profile sibling folders by aggregating all siblings in 
profiled folders
  @@ -287,7 +295,11 @@
                       Iterator aggregateFoldersIter = 
aggregateFolders.iterator();
                       while (aggregateFoldersIter.hasNext())
                       {
  -                        siblingFolders = 
addUniqueOrDescribedUrlNode((NodeSetImpl) siblingFolders, 
setProfiledNodePathAndUrl((AbstractNode) aggregateFoldersIter.next()));
  +                        AbstractNode siblingFolderNode = 
(AbstractNode)aggregateFoldersIter.next();
  +                        if (!siblingFolderNode.isHidden())
  +                        {
  +                            siblingFolders = 
addUniqueOrDescribedUrlNode((NodeSetImpl)siblingFolders, 
setProfiledNodePathAndUrl(siblingFolderNode));
  +                        }
                       }
                   }
   
  @@ -302,11 +314,14 @@
                       Iterator aggregateFolderDocumentSetsIter = 
aggregateFolderDocumentSets.iterator();
                       while (aggregateFolderDocumentSetsIter.hasNext())
                       {
  -                        DocumentSet documentSet = (DocumentSet) 
setProfiledNodePathAndUrl((AbstractNode) 
aggregateFolderDocumentSetsIter.next());
  -                        String documentSetProfiledPath = ((AbstractNode) 
documentSet).getProfiledPath();
  -                        if (! 
aggregateDocumentSets.containsKey(documentSetProfiledPath))
  +                        AbstractNode documentSetNode = 
(AbstractNode)setProfiledNodePathAndUrl((AbstractNode)aggregateFolderDocumentSetsIter.next());
  +                        if (!documentSetNode.isHidden())
                           {
  -                            
aggregateDocumentSets.put(documentSetProfiledPath, documentSet);
  +                            String documentSetProfiledPath = 
documentSetNode.getProfiledPath();
  +                            if 
(!aggregateDocumentSets.containsKey(documentSetProfiledPath))
  +                            {
  +                                
aggregateDocumentSets.put(documentSetProfiledPath, documentSetNode);
  +                            }
                           }
                       }
                   }
  @@ -369,7 +384,11 @@
                               Iterator aggregateLinksIter = 
aggregateLinks.iterator();
                               while (aggregateLinksIter.hasNext())
                               {
  -                                rootLinks = 
addUniqueOrDescribedUrlNode((NodeSetImpl) rootLinks, 
setProfiledNodePathAndUrl((AbstractNode) aggregateLinksIter.next()));
  +                                AbstractNode rootLinkNode = 
(AbstractNode)aggregateLinksIter.next();
  +                                if (!rootLinkNode.isHidden())
  +                                {
  +                                    rootLinks = 
addUniqueOrDescribedUrlNode((NodeSetImpl)rootLinks, 
setProfiledNodePathAndUrl(rootLinkNode));
  +                                }
                               }
                           }
                       }
  @@ -382,7 +401,7 @@
               }
               else
               {
  -                log.error("computeProfiledPageContext(): Failed to find 
profiled page for " + requestPath + " at " + locator);
  +                log.error("computeProfiledPageContext(): Failed to find 
profiled page and/or folder for " + requestPath + " at " + locator);
                   throw new PageNotFoundException(requestPath + " at " + 
locator);
               }
           }
  @@ -666,18 +685,21 @@
                       while (pathNodesIter.hasNext())
                       {
                           AbstractNode pathNode = 
setProfiledNodePathAndUrl((AbstractNode) pathNodesIter.next());
  -                        if (!(pathNode instanceof DocumentSet))
  -                        {
  -                            // add expanded document
  -                            expandedNodes = 
addUniqueOrDescribedUrlNode(expandedNodes, pathNode);
  -                        }
  -                        else if (!documentSetNames.containsKey(pathNode))
  +                        if (!pathNode.isHidden())
                           {
  -                            // expand unique nested document set
  -                            if (expandAndProfileDocumentSet(profileLocators, 
(DocumentSet)pathNode, null, name, documentSetNames, documentSetNodeSets) != 
null)
  +                            if (!(pathNode instanceof DocumentSet))
                               {
  -                                // add expanded document set
  +                                // add expanded document
                                   expandedNodes = 
addUniqueOrDescribedUrlNode(expandedNodes, pathNode);
  +                            }
  +                            else if (!documentSetNames.containsKey(pathNode))
  +                            {
  +                                // expand unique nested document set
  +                                if 
(expandAndProfileDocumentSet(profileLocators, (DocumentSet)pathNode, null, 
name, documentSetNames, documentSetNodeSets) != null)
  +                                {
  +                                    // add expanded document set
  +                                    expandedNodes = 
addUniqueOrDescribedUrlNode(expandedNodes, pathNode);
  +                                }
                               }
                           }
                       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to