You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by rf...@apache.org on 2007/07/24 16:14:34 UTC

svn commit: r559056 - in /lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases: ChangeLabel.java ChangeNodeID.java ChangeVisibility.java

Author: rfrovarp
Date: Tue Jul 24 07:14:33 2007
New Revision: 559056

URL: http://svn.apache.org/viewvc?view=rev&rev=559056
Log:
Fixes to prevent NPEs when choosing authoring node in the site tab.

Modified:
    lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeLabel.java
    lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeNodeID.java
    lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeVisibility.java

Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeLabel.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeLabel.java?view=diff&rev=559056&r1=559055&r2=559056
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeLabel.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeLabel.java Tue Jul 24 07:14:33 2007
@@ -17,6 +17,9 @@
  */
 package org.apache.lenya.cms.site.usecases;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentException;
 import org.apache.lenya.cms.publication.Publication;
@@ -63,9 +66,13 @@
      * @see org.apache.lenya.cms.usecase.AbstractUsecase#getNodesToLock()
      */
     protected Node[] getNodesToLock() throws UsecaseException {
-        SiteStructure structure = getSourceDocument().area().getSite();
-        Node[] objects = { structure.getRepositoryNode() };
-        return objects;
+        List nodes = new ArrayList();
+        if(getSourceDocument() != null) {
+            SiteStructure structure = getSourceDocument().area().getSite();
+            nodes.add(structure.getRepositoryNode());
+        }    
+
+        return (Node[]) nodes.toArray(new Node[nodes.size()]);
     }
 
     /**

Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeNodeID.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeNodeID.java?view=diff&rev=559056&r1=559055&r2=559056
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeNodeID.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeNodeID.java Tue Jul 24 07:14:33 2007
@@ -66,21 +66,22 @@
         List nodes = new ArrayList();
 
         try {
-            Node siteNode = getSourceDocument().area().getSite().getRepositoryNode();
-            nodes.add(siteNode);
-
-            Document sourceDocument = getSourceDocument();
-
-            NodeSet subsite = SiteUtil.getSubSite(this.manager, sourceDocument.getLink().getNode());
-            for (NodeIterator i = subsite.ascending(); i.hasNext();) {
-                SiteNode node = i.next();
-                String[] languages = node.getLanguages();
-                for (int l = 0; l < languages.length; l++) {
-                    Document doc = node.getLink(languages[l]).getDocument();
-                    nodes.add(doc.getRepositoryNode());
+            if(getSourceDocument() != null) {
+                Node siteNode = getSourceDocument().area().getSite().getRepositoryNode();
+                nodes.add(siteNode);
+
+                Document sourceDocument = getSourceDocument();
+  
+                NodeSet subsite = SiteUtil.getSubSite(this.manager, sourceDocument.getLink().getNode());
+                for (NodeIterator i = subsite.ascending(); i.hasNext();) {
+                    SiteNode node = i.next();
+                    String[] languages = node.getLanguages();
+                    for (int l = 0; l < languages.length; l++) {
+                        Document doc = node.getLink(languages[l]).getDocument();
+                        nodes.add(doc.getRepositoryNode());
+                    }
                 }
             }
-
         } catch (Exception e) {
             throw new UsecaseException(e);
         }
@@ -189,4 +190,4 @@
 
         return newDocumentId;
     }
-}
\ No newline at end of file
+}

Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeVisibility.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeVisibility.java?view=diff&rev=559056&r1=559055&r2=559056
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeVisibility.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ChangeVisibility.java Tue Jul 24 07:14:33 2007
@@ -17,6 +17,9 @@
  */
 package org.apache.lenya.cms.site.usecases;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.repository.Node;
@@ -75,9 +78,13 @@
      * @see org.apache.lenya.cms.usecase.AbstractUsecase#getNodesToLock()
      */
     protected Node[] getNodesToLock() throws UsecaseException {
-        SiteStructure structure = getSourceDocument().area().getSite();
-        Node[] objects = { structure.getRepositoryNode() };
-        return objects;
+        List nodes = new ArrayList();
+        if(getSourceDocument() != null) {
+            SiteStructure structure = getSourceDocument().area().getSite();
+            nodes.add(structure.getRepositoryNode());
+        }
+
+        return (Node[]) nodes.toArray(new Node[nodes.size()]);
     }
 
 }



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