You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2005/04/01 17:50:25 UTC

svn commit: r159698 - lenya/trunk/src/java/org/apache/lenya/cms/site/tree/TreeSiteManager.java

Author: andreas
Date: Fri Apr  1 07:50:25 2005
New Revision: 159698

URL: http://svn.apache.org/viewcvs?view=rev&rev=159698
Log:
avoid NPE when calling TreeSiteManager methods for non-existing tree nodes

Modified:
    lenya/trunk/src/java/org/apache/lenya/cms/site/tree/TreeSiteManager.java

Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/tree/TreeSiteManager.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/tree/TreeSiteManager.java?view=diff&r1=159697&r2=159698
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/tree/TreeSiteManager.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/tree/TreeSiteManager.java Fri Apr  1 07:50:25 2005
@@ -125,32 +125,38 @@
             getLogger().debug("Obtaining requiring resources of [" + resource + "]");
         }
 
+        Document[] resources;
         SiteTree tree = getTree(resource);
 
         SiteTreeNode node = tree.getNode(resource.getId());
-        List preOrder = node.preOrder();
+        if (node != null) {
+            List preOrder = node.preOrder();
 
-        // remove original resource (does not require itself)
-        preOrder.remove(0);
+            // remove original resource (does not require itself)
+            preOrder.remove(0);
 
-        Document[] resources = new Document[preOrder.size()];
+            resources = new Document[preOrder.size()];
 
-        try {
-            for (int i = 0; i < resources.length; i++) {
-                SiteTreeNode descendant = (SiteTreeNode) preOrder.get(i);
-                resources[i] = resource.getIdentityMap().get(resource.getPublication(),
-                        resource.getArea(),
-                        descendant.getAbsoluteId());
-                if (getLogger().isDebugEnabled()) {
-                    getLogger().debug("    Descendant: [" + resources[i] + "]");
+            try {
+                for (int i = 0; i < resources.length; i++) {
+                    SiteTreeNode descendant = (SiteTreeNode) preOrder.get(i);
+                    resources[i] = resource.getIdentityMap().get(resource.getPublication(),
+                            resource.getArea(),
+                            descendant.getAbsoluteId());
+                    if (getLogger().isDebugEnabled()) {
+                        getLogger().debug("    Descendant: [" + resources[i] + "]");
+                    }
                 }
+            } catch (PublicationException e) {
+                throw new SiteException(e);
             }
-        } catch (PublicationException e) {
-            throw new SiteException(e);
-        }
 
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("Obtaining requiring resources completed.");
+            if (getLogger().isDebugEnabled()) {
+                getLogger().debug("Obtaining requiring resources completed.");
+            }
+        }
+        else {
+            resources = new Document[0];
         }
 
         return resources;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org