Author: woonsan
Date: Mon Feb 22 18:23:28 2010
New Revision: 915005

URL: http://svn.apache.org/viewvc?rev=915005&view=rev
Log:
JS2-1108: Selecting the proper page/folder/link node in the site tree.

Modified:
    
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/site/PortalSiteManager.java

Modified: 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/site/PortalSiteManager.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/site/PortalSiteManager.java?rev=915005&r1=915004&r2=915005&view=diff
==============================================================================
--- 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/site/PortalSiteManager.java
 (original)
+++ 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/site/PortalSiteManager.java
 Mon Feb 22 18:23:28 2010
@@ -3807,23 +3807,28 @@
         PortalTree tree = (PortalTree) getPage().get("siteTree");
         Collection selectedNodes = tree.getTreeState().getSelectedNodes();
         DefaultMutableTreeNode treeNode = null;
+        
         if (selectedNodes != null)
         {
             Iterator selectedNode = selectedNodes.iterator();
+            
             while (selectedNode.hasNext())
             {
                 treeNode = (DefaultMutableTreeNode) selectedNode.next();
                 break;
             }
-            if (treeNode != null)
-            {
-                nodeTree = (SiteTreeNode) treeNode.getUserObject();
-            } else
-            {
-                nodeTree = new SiteTreeNode("ROOT", "/",
-                        SiteTreeNode.FileType.Folder);
-            }
         }
+        
+        if (treeNode != null)
+        {
+            nodeTree = (SiteTreeNode) treeNode.getUserObject();
+        }
+        else
+        {
+            DefaultMutableTreeNode rootTreeNode = (DefaultMutableTreeNode) 
treeRoot.getRoot();
+            nodeTree = (SiteTreeNode) rootTreeNode.getUserObject();
+        }
+        
         return nodeTree;
     }
 
@@ -4939,6 +4944,7 @@
             }
             
             PageManager pageManager = getServiceLocator().getPageManager();
+            DefaultMutableTreeNode treeRootNode = null;
             
             try
             {
@@ -4946,21 +4952,29 @@
                 {
                     Page page = pageManager.getPage(pathParam);
                     siteTreeNode = new SiteTreeNode(page.getName(), 
page.getPath(), SiteTreeNode.FileType.Page, true);
+                    treeRootNode = new DefaultMutableTreeNode(new 
SiteTreeNode(page));
                 }
                 else if (FOLDER_NODE_TYPE.equals(type))
                 {
                     Folder folder = pageManager.getFolder(pathParam);
                     siteTreeNode = new SiteTreeNode(folder.getName(), 
folder.getPath(), SiteTreeNode.FileType.Folder, true);
+                    treeRootNode = new DefaultMutableTreeNode(new 
SiteTreeNode(folder, true));
                 }
                 else if (LINK_NODE_TYPE.equals(type))
                 {
                     Link link = pageManager.getLink(pathParam);
                     siteTreeNode = new SiteTreeNode(link.getName(), 
link.getPath(), SiteTreeNode.FileType.Link, true);
+                    treeRootNode = new DefaultMutableTreeNode(new 
SiteTreeNode(link));
                 }
             }
             catch (Exception e)
             {
-                
+                log.error("Failed to retrieve the init site tree node on " + 
pathParam, e);
+            }
+            
+            if (treeRootNode != null)
+            {
+                treeRoot = new DefaultTreeModel(treeRootNode);
             }
         }
         



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to