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