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 ta...@apache.org on 2007/07/05 20:09:46 UTC

svn commit: r553584 - in /portals/jetspeed-2/trunk: components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/ components/page-manager/src/java/org/apache/jetspeed/page/document/psml/ components/page-manager/src/test/org/apache/jetspeed/page/...

Author: taylor
Date: Thu Jul  5 11:09:45 2007
New Revision: 553584

URL: http://svn.apache.org/viewvc?view=rev&rev=553584
Log:
https://issues.apache.org/jira/browse/JS2-745

Instead of checking for dots in path to determine if resource is a folder, we now let the file system determine it

Added:
    portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/
    portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/apache_portals.link
    portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/simplefolder/
    portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/www.subsite1.org/
    portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/www.subsite2.org/
    portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/www.subsite3.org/
Modified:
    portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java
    portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java
    portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java
    portals/jetspeed-2/trunk/jetspeed-api/src/java/org/apache/jetspeed/page/document/FolderHandler.java

Modified: portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java?view=diff&rev=553584&r1=553583&r2=553584
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java Thu Jul  5 11:09:45 2007
@@ -37,6 +37,7 @@
 import org.apache.jetspeed.om.page.Link;
 import org.apache.jetspeed.om.page.Page;
 import org.apache.jetspeed.om.page.PageSecurity;
+import org.apache.jetspeed.page.PageManagerUtils;
 import org.apache.jetspeed.page.PageNotFoundException;
 import org.apache.jetspeed.page.document.DocumentException;
 import org.apache.jetspeed.page.document.DocumentHandlerFactory;
@@ -533,8 +534,9 @@
                         {
                             if (getPath().endsWith(PATH_SEPARATOR))
                             {
-                                if(nodeNames[i].indexOf(".") > -1)
-                                {    
+                                String full = PageManagerUtils.concatenatePaths(getPath(), nodeNames[i]); 
+                                if (!folderHandler.isFolder(full))
+                                {
                                     node = getHandlerFactory().getDocumentHandlerForPath(nodeNames[i]).getDocument(getPath() + nodeNames[i]);
                                 }
                                 else
@@ -544,9 +546,10 @@
                             }
                             else
                             {
-                                
-                                if(nodeNames[i].indexOf(".") > -1)
-                                {    
+                                String full = PageManagerUtils.concatenatePaths(getPath(), nodeNames[i]); 
+                                if (!folderHandler.isFolder(full))                                
+                                //if(nodeNames[i].indexOf(".") > -1)
+                                {
                                     node = getHandlerFactory().getDocumentHandlerForPath(nodeNames[i]).getDocument(getPath() + PATH_SEPARATOR + nodeNames[i]);
                                 }
                                 else
@@ -577,7 +580,7 @@
         
         return allNodes;
     }
-
+    
     /**
      * <p>
      * getFolderMetaData

Modified: portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java?view=diff&rev=553584&r1=553583&r2=553584
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java Thu Jul  5 11:09:45 2007
@@ -748,4 +748,8 @@
 
     }
 
+    public boolean isFolder(String path)
+    {
+        return new File(this.documentRootDir, path).isDirectory();        
+    }
 }

Modified: portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java?view=diff&rev=553584&r1=553583&r2=553584
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java Thu Jul  5 11:09:45 2007
@@ -487,6 +487,24 @@
         assertTrue(link.getTitle().equals("Updated Title"));
     }
 
+    public void testGetFolders() throws Exception
+    {
+
+        Folder subsites = pageManager.getFolder("/subsites");
+        assertNotNull(subsites);
+
+        Iterator ssi = subsites.getFolders().iterator();
+        assertTrue(ssi.hasNext());
+        int count = 0;
+        while (ssi.hasNext())
+        {
+            Folder folder = (Folder)ssi.next();
+            System.out.println("folder = " + folder.getName());
+            count++;
+        }
+        assertEquals(4, count);
+    }
+    
     public void testFolders() throws Exception
     {
 

Added: portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/apache_portals.link
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/apache_portals.link?view=auto&rev=553584
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/apache_portals.link (added)
+++ portals/jetspeed-2/trunk/components/page-manager/testdata/pages/subsites/apache_portals.link Thu Jul  5 11:09:45 2007
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<link target="top" skin="test-skin"
+    xmlns="http://portals.apache.org/jetspeed"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://portals.apache.org/jetspeed http://portals.apache.org/jetspeed-2/2.1/schemas/link.xsd">
+ <title>Apache Portals Website</title>
+ <url>http://portals.apache.org</url>
+  <metadata name="title" xml:lang="fr">
+		Apache Software Foundation [french]
+ </metadata>
+</link>
\ No newline at end of file

Modified: portals/jetspeed-2/trunk/jetspeed-api/src/java/org/apache/jetspeed/page/document/FolderHandler.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/jetspeed-api/src/java/org/apache/jetspeed/page/document/FolderHandler.java?view=diff&rev=553584&r1=553583&r2=553584
==============================================================================
--- portals/jetspeed-2/trunk/jetspeed-api/src/java/org/apache/jetspeed/page/document/FolderHandler.java (original)
+++ portals/jetspeed-2/trunk/jetspeed-api/src/java/org/apache/jetspeed/page/document/FolderHandler.java Thu Jul  5 11:09:45 2007
@@ -155,4 +155,12 @@
      */
     NodeSet getNodes(String path, boolean regexp, String documentType) throws FolderNotFoundException, InvalidFolderException, NodeException;
     
+    /**
+     * Returns true if the path is a folder
+     * 
+     * @param path
+     * @return
+     */
+    boolean isFolder(String path);
+    
 }



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