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 rw...@apache.org on 2005/12/04 22:01:59 UTC

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

Author: rwatler
Date: Sun Dec  4 13:01:54 2005
New Revision: 353907

URL: http://svn.apache.org/viewcvs?rev=353907&view=rev
Log:
add Page/Folder/Link title defaulting from name

Modified:
    portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/impl/FolderImpl.java
    portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/DocumentImpl.java
    portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/NodeImpl.java
    portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestDatabasePageManager.java

Modified: portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/impl/FolderImpl.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/impl/FolderImpl.java?rev=353907&r1=353906&r2=353907&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/impl/FolderImpl.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/om/folder/impl/FolderImpl.java Sun Dec  4 13:01:54 2005
@@ -404,6 +404,21 @@
     }
 
     /* (non-Javadoc)
+     * @see org.apache.jetspeed.om.page.BaseElement#getTitle()
+     */
+    public String getTitle()
+    {
+        // default title to folder name
+        String title = super.getTitle();
+        if (title == null)
+        {
+            title = defaultTitleFromName();
+            setTitle(title);
+        }
+        return title;
+    }
+
+    /* (non-Javadoc)
      * @see org.apache.jetspeed.om.folder.Folder#getDocumentOrder()
      */
     public List getDocumentOrder()

Modified: portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/DocumentImpl.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/DocumentImpl.java?rev=353907&r1=353906&r2=353907&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/DocumentImpl.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/DocumentImpl.java Sun Dec  4 13:01:54 2005
@@ -33,15 +33,31 @@
         super(constraints);
     }
     
-    /**
-     * @return Returns the version.
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.om.page.BaseElement#getTitle()
+     */
+    public String getTitle()
+    {
+        // default title to document name
+        String title = super.getTitle();
+        if (title == null)
+        {
+            title = defaultTitleFromName();
+            setTitle(title);
+        }
+        return title;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.om.page.Document#setVersion()
      */
     public String getVersion()
     {
         return version;
     }
-    /**
-     * @param version The version to set.
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.om.page.Document#setVersion(java.lang.String)
      */
     public void setVersion(String version)
     {

Modified: portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/NodeImpl.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/NodeImpl.java?rev=353907&r1=353906&r2=353907&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/NodeImpl.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/impl/NodeImpl.java Sun Dec  4 13:01:54 2005
@@ -119,6 +119,50 @@
         return pageMetadata;
     }
 
+    /**
+     * defaultTitleFromName
+     *
+     * Compute default title from name.
+     *
+     * @return default title
+     */
+    protected String defaultTitleFromName()
+    {
+        // transform name to title
+        String title = getName();
+        if (title != null)
+        {
+            // strip extensions and default root folder name
+            if ((getType() != null) && title.endsWith(getType()))
+            {
+                title = title.substring(0, title.length()-getType().length());
+            }
+            else if (title.equals(Folder.PATH_SEPARATOR))
+            {
+                title = "top";
+            }
+            // use space as word separator
+            title = title.replace('_', ' ');
+            title = title.replace('-', ' ');
+            // use title case for title words
+            int wordIndex = -1;
+            do
+            {
+                if (!Character.isTitleCase(title.charAt(wordIndex+1)))
+                {
+                    StringBuffer makeTitle = new StringBuffer();
+                    makeTitle.append(title.substring(0, wordIndex+1));
+                    makeTitle.append(Character.toTitleCase(title.charAt(wordIndex+1)));
+                    makeTitle.append(title.substring(wordIndex+2));
+                    title = makeTitle.toString();
+                }
+                wordIndex = title.indexOf(' ', wordIndex+1);
+            }
+            while (wordIndex != -1);
+        }
+        return title;
+    }
+
     /* (non-Javadoc)
      * @see org.apache.jetspeed.om.page.impl.BaseElementImpl#getName()
      */

Modified: portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestDatabasePageManager.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestDatabasePageManager.java?rev=353907&r1=353906&r2=353907&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestDatabasePageManager.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestDatabasePageManager.java Sun Dec  4 13:01:54 2005
@@ -144,6 +144,7 @@
 
         // test document and folder creation
         Folder folder = pageManager.newFolder("/");
+        assertEquals("Top", folder.getTitle());
         folder.setTitle("Root Folder");
         folder.setDefaultPage("default-page.psml");
         folder.setShortTitle("Root");
@@ -225,6 +226,7 @@
         assertNull(folder.getParent());
 
         Page page = pageManager.newPage("/default-page.psml");
+        assertEquals("Default Page", page.getTitle());
         page.setTitle("Default Page");
         page.setVersion("6.89");
         page.setDefaultDecorator("tigris", Fragment.LAYOUT);
@@ -330,11 +332,13 @@
         assertEquals(1, folder.getPages().size());
 
         page = pageManager.newPage("/another-page.psml");
+        assertEquals("Another Page", page.getTitle());
         page.setTitle("Another Page");
         pageManager.updatePage(page);
         assertNotNull(page.getParent());
         assertEquals(page.getParent().getId(), folder.getId());
         page = pageManager.newPage("/some-other-page.psml");
+        assertEquals("Some Other Page", page.getTitle());
         page.setTitle("Some Other Page");
         pageManager.updatePage(page);
         assertNotNull(page.getParent());
@@ -342,6 +346,7 @@
         assertEquals(3, folder.getPages().size());
 
         Link link = pageManager.newLink("/default.link");
+        assertEquals("Default", link.getTitle());
         link.setTitle("Default Link");
         link.setVersion("1.23");
         link.setShortTitle("Default");



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