You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by we...@apache.org on 2004/07/14 23:09:12 UTC

cvs commit: jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/om/folder/impl FolderImpl.java

weaver      2004/07/14 14:09:12

  Modified:    components/page-manager/src/java/org/apache/jetspeed/page/impl
                        DatabasePageManager.java CastorXmlPageManager.java
               jetspeed-api/src/java/org/apache/jetspeed/page
                        PageManager.java
               components/page-manager/src/java/org/apache/jetspeed/om/folder/impl
                        FolderImpl.java
  Log:
  Added folder support to the PageManager.  This is the beginnings of or Folder/Page navigation proposal.
  
  Revision  Changes    Path
  1.3       +16 -1     jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/impl/DatabasePageManager.java
  
  Index: DatabasePageManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/impl/DatabasePageManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DatabasePageManager.java	28 May 2004 22:05:08 -0000	1.2
  +++ DatabasePageManager.java	14 Jul 2004 21:09:12 -0000	1.3
  @@ -25,6 +25,7 @@
   import org.apache.jetspeed.components.persistence.store.PersistenceStore;
   import org.apache.jetspeed.exception.JetspeedException;
   import org.apache.jetspeed.idgenerator.IdGenerator;
  +import org.apache.jetspeed.om.folder.Folder;
   import org.apache.jetspeed.om.page.Page;
   import org.apache.jetspeed.page.PageManager;
   import org.apache.jetspeed.page.PageNotRemovedException;
  @@ -175,4 +176,18 @@
           }
       }
   
  +    /**
  +     * <p>
  +     * getFolder
  +     * </p>
  +     *
  +     * @see org.apache.jetspeed.page.PageManager#getFolder(java.lang.String)
  +     * @param folderPath
  +     * @return
  +     */
  +    public Folder getFolder( String folderPath )
  +    {
  +        // TODO Auto-generated method stub
  +        return null;
  +    }
   }
  
  
  
  1.3       +32 -1     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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CastorXmlPageManager.java	28 May 2004 22:05:08 -0000	1.2
  +++ CastorXmlPageManager.java	14 Jul 2004 21:09:12 -0000	1.3
  @@ -34,6 +34,8 @@
   import org.apache.jetspeed.cache.file.FileCacheEventListener;
   import org.apache.jetspeed.exception.JetspeedException;
   import org.apache.jetspeed.idgenerator.IdGenerator;
  +import org.apache.jetspeed.om.folder.Folder;
  +import org.apache.jetspeed.om.folder.impl.FolderImpl;
   import org.apache.jetspeed.om.page.Page;
   import org.apache.jetspeed.page.PageManager;
   import org.apache.jetspeed.profiler.ProfileLocator;
  @@ -243,6 +245,35 @@
           }
   
           return page;
  +    }
  +    
  +    public Folder getFolder(String folderPath)
  +    {
  +        File f = new File(this.rootDir, folderPath);
  +        if (!f.exists())
  +        {
  +            return null;
  +        }
  +        else
  +        {
  +            Folder folder = new FolderImpl();
  +            folder.setName(folderPath);            
  +            File[] children = f.listFiles();
  +            for(int i=0; i < children.length; i++)
  +            {
  +                if(children[i].isDirectory())
  +                {
  +                    folder.getFolders().add(getFolder(folderPath+"/"+children[i].getName()));
  +                }
  +                else
  +                {
  +                    folder.getPages().add(getPage(folderPath+"/"+children[i].getName()));
  +                }                
  +            }
  +            
  +            return folder;
  +        }
  +        
       }
   
       /**
  
  
  
  1.2       +14 -1     jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/page/PageManager.java
  
  Index: PageManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/page/PageManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PageManager.java	28 May 2004 18:51:56 -0000	1.1
  +++ PageManager.java	14 Jul 2004 21:09:12 -0000	1.2
  @@ -19,6 +19,7 @@
   import java.util.List;
   
   import org.apache.jetspeed.exception.JetspeedException;
  +import org.apache.jetspeed.om.folder.Folder;
   import org.apache.jetspeed.om.page.Fragment;
   import org.apache.jetspeed.om.page.Page;
   import org.apache.jetspeed.om.page.Property;
  @@ -62,6 +63,18 @@
        * @param locator The locator descriptor of the document to be retrieved.
        */
       public Page getPage(String id);
  +    
  +    /**
  +     * 
  +     * <p>
  +     * getFolder
  +     * </p>
  +     * Locates a folder for the given path.
  +     * @param folderPath
  +     * @return <code>Folder</code> object represented by the <code>folderPath</code> or
  +     * <code>null</code> if no such folder exists.
  +     */
  +    Folder getFolder(String folderPath);
   
       /**
        * Returns a PSML document for the given locator
  
  
  
  1.3       +35 -3     jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/om/folder/impl/FolderImpl.java
  
  Index: FolderImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/om/folder/impl/FolderImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FolderImpl.java	28 May 2004 22:05:11 -0000	1.2
  +++ FolderImpl.java	14 Jul 2004 21:09:12 -0000	1.3
  @@ -16,6 +16,9 @@
   package org.apache.jetspeed.om.folder.impl;
   
   import java.util.Collection;
  +import java.util.Comparator;
  +import java.util.HashSet;
  +import java.util.TreeSet;
   
   import org.apache.jetspeed.om.folder.Folder;
   
  @@ -32,8 +35,8 @@
       private String name;
       private String defaultPage;
       private String defaultTheme;
  -    private Collection folders;
  -    private Collection pages;
  +    private Collection folders=new HashSet();
  +    private Collection pages=new TreeSet(new FolderComparator());
       //private GenericMetadata metadata;
   
       /* (non-Javadoc)
  @@ -113,6 +116,35 @@
       public void setPages(Collection pages)
       {
           this.pages = pages;
  +    }
  +    
  +    class FolderComparator implements Comparator
  +    {
  +
  +        /**
  +         * <p>
  +         * compare
  +         * </p>
  +         *
  +         * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
  +         * @param o1
  +         * @param o2
  +         * @return
  +         */
  +        public int compare( Object o1, Object o2 )
  +        {
  +            if(o1 != null || o2 != null)
  +            {
  +                Folder f1 = (Folder) o1;
  +                Folder f2 = (Folder) o2;
  +                return f1.getName().compareTo(f2.getName());
  +            }
  +            else
  +            {
  +                return 1;
  +            }
  +        }
  +        
       }
   
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org