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

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
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()]);
     }
 
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.